Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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
将字符串从Java类迁移到资源_Java_Android_String_Android Resources - Fatal编程技术网

将字符串从Java类迁移到资源

将字符串从Java类迁移到资源,java,android,string,android-resources,Java,Android,String,Android Resources,我正在做一道测验题 我有关于“Questions.java”的问题 我尝试在“我的问题在这里”中使用字符串语言“strings.xml” 例如: 有人能帮我吗?如果我答对了您的问题,我假设您希望加载strings.xml文件中的所有问题,并将它们放在mQuestions数组中。你在那里写的(getString(R.string.Q1\u function\u insulin))应该可以正常工作。我建议您将所有问题放在xml中的一个数组中,并使用getStringArray(R.array.que

我正在做一道测验题

我有关于“Questions.java”的问题

我尝试在“我的问题在这里”中使用字符串语言“strings.xml”

例如:


有人能帮我吗?

如果我答对了您的问题,我假设您希望加载strings.xml文件中的所有问题,并将它们放在mQuestions数组中。你在那里写的(
getString(R.string.Q1\u function\u insulin)
)应该可以正常工作。我建议您将所有问题放在xml中的一个数组中,并使用
getStringArray(R.array.questions)

立即加载整个数组。如果我答对了您的问题,我假设您希望加载strings.xml文件中的所有问题,并将它们放在mQuestions数组中。你在那里写的(
getString(R.string.Q1\u function\u insulin)
)应该可以正常工作。我建议您将所有问题放在xml中的一个数组中,并使用
getStringArray(R.array.questions)
立即加载整个数组。您需要一个
Context
对象来执行
getString()
。因此,您可以通过以下方式重构类:


    public class Questions {

        private static final int QUESTIONS[] = {
                R.string.text1,
                R.string.text2
        };

        private Context context;

        public Questions(Context context) {
            this.context = context;
        }

        public String getString(int index) {
            return context.getString(QUESTIONS[index]);
        }
    }
然后,从您的活动中:

Questions questions = new Questions(MainActivity.this);
questions.getString(0);

您需要一个
上下文
对象才能执行
getString()
。因此,您可以通过以下方式重构类:


    public class Questions {

        private static final int QUESTIONS[] = {
                R.string.text1,
                R.string.text2
        };

        private Context context;

        public Questions(Context context) {
            this.context = context;
        }

        public String getString(int index) {
            return context.getString(QUESTIONS[index]);
        }
    }
然后,从您的活动中:

Questions questions = new Questions(MainActivity.this);
questions.getString(0);

哦,还有,下次请说确切的问题在哪里,代码的哪一部分不起作用。如果可能,请附加日志和堆栈跟踪。谢谢。我尝试使用“(getString(R.string.Q1_function_)),但不起作用。我把所有的东西都擦掉,重新写了一遍。我没有成功。您需要一个上下文来从xml获取资源。如果尝试在Questions类中调用getString(),则没有此类方法。请尝试在活动中加载问题,或将有效的上下文传递给提问者。您可以对从context.getResources()返回的资源调用getString()。看一看1994年的《谢谢你》。现在没关系。哦,还有,下次请说确切的问题在哪里,代码的哪一部分不起作用。如果可能,请附加日志和堆栈跟踪。谢谢。我尝试使用“(getString(R.string.Q1_function_)),但不起作用。我把所有的东西都擦掉,重新写了一遍。我没有成功。您需要一个上下文来从xml获取资源。如果尝试在Questions类中调用getString(),则没有此类方法。请尝试在活动中加载问题,或将有效的上下文传递给提问者。您可以对从context.getResources()返回的资源调用getString()。看一看1994年的《谢谢你》。现在没关系了。
Questions questions = new Questions(MainActivity.this);
questions.getString(0);