Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何正确地与片段中的资源交互_Android_Android Resources - Fatal编程技术网

Android 如何正确地与片段中的资源交互

Android 如何正确地与片段中的资源交互,android,android-resources,Android,Android Resources,我的问题更多地涉及到要遵循的良好实践,我制定的代码正在运行,但我不确定我是否以正确的方式执行以下操作 这是在FragmentStatePagerAdapter中使用的简单片段的当前版本,这意味着在使用应用程序时,该片段可以被调用数百次 基本上,我声明了一个类变量来处理资源: public class RateFragment extends Fragment { private DatabaseHandler db; private Resources resources;

我的问题更多地涉及到要遵循的良好实践,我制定的代码正在运行,但我不确定我是否以正确的方式执行以下操作

这是在
FragmentStatePagerAdapter
中使用的简单片段的当前版本,这意味着在使用应用程序时,该片段可以被调用数百次

基本上,我声明了一个类变量来处理
资源

public class RateFragment extends Fragment {

    private DatabaseHandler db;
    private Resources resources;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true);

        // Getting the maximum number of days
        db = new DatabaseHandler(this.getActivity());
        resources = this.getResources();
在类的其余部分中,我只是通过执行以下操作获得所需的资源:
resources.getString(R.string.hello)

这是个坏主意吗?为什么?我是否必须到处切换到
getResources()

还有一个小问题:
getResources()
this.getResources()
之间有区别吗


谢谢

在扩展fragement的类中调用getResources()或this.getResources()是相同的,一个是隐式的,一个是显式的。首先,您不应该在片段中的onCreate()中使用getActivity。原因:活动不是不可避免地被创造出来的。这会导致应用程序崩溃。您可能有一个上下文变量,您只能在适当的时候、在父活动的生命周期内分配,而不是每次需要时分配;)谢谢你的建议,我意识到我在好几个地方都这么做了,你有没有任何例子来看看如何解决这个问题?