R.string.XXX 从字符串返回一个int.xml当我需要一个字符串时

2022-09-02 05:16:50

这是这个线程的延续:

在字符串中本地化字符串.xml给出了 NullPointerException

在完成并实现该线程中提供的解决方案后,出现了此问题。提供的解决方案适用于以下实例:

loading = (TextView)findViewById(R.id.loading);
loading.setText(R.string.loading);

这不适用于以下情况:

exodus.add(new Question(R.string.a, R.string.b, R.string.c, R.string.d, 0, R.string.e, -1, R.string.f));

错误为 。Question 的构造函数应该是这样的:The constructor Question(int, int, int, int, int, int, int, int) is undefinedQuestion(String, String, String, String, int, String, int, String)

R.string.X

以 ints 而不是 Strings 的形式返回。

我该怎么做才能解决此问题?而且,如果你知道,为什么这种方法可以设置s的文本,而不是对象中的参数?TextView


答案 1

R.string.*是对 R.java 中指向实际字符串的 int 的引用。

用于获取实际的字符串值。context.getResources().getString(R.string.*);


答案 2

请参考这个 StackOverFlow 问题

String mystring = getResources().getString(R.string.mystring);