Kal*_*iMa 5 string android android-context android-fragments android-resources
在 Fragment 中读取字符串资源时,哪种方法通常更好/更安全?
这里我getResources().getString()直接阅读:
public class SomeFragment extends Fragment {
public static SomeFragment newInstance() {
Bundle args = new Bundle();
SomeFragment fragment = new SomeFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String someString = getResources().getString(R.string.my_string_id);
}
}
Run Code Online (Sandbox Code Playgroud)
或者最好这样做,先设置一个 Context 字段,然后从中读取资源:
public class SomeFragment extends Fragment {
private Context context;
public static SomeFragment newInstance() {
Bundle args = new Bundle();
SomeFragment fragment = new SomeFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
this.context = context;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String someString = context.getResources().getString(R.string.my_string_id);
}
}
Run Code Online (Sandbox Code Playgroud)
这些方法中的任何一种都有什么权衡/缺点?
我问的原因是因为有时我会遇到第一种方法的空指针问题,但使用第二种方法可以解决;所以我不确定使用第一个是否有问题。
| 归档时间: |
|
| 查看次数: |
2130 次 |
| 最近记录: |