【问题标题】:getResources().getString() is not defined for my class没有为我的班级定义 getResources().getString()
【发布时间】:2013-04-25 00:24:43
【问题描述】:

这是我的res/values-es/strings.xml 文件中的一个字符串:

<string name="jcq1">Text text text textttttttttt</string>

这是我在 java 代码中使用它的地方:

jc.add(new Question("42", "21", "33", "29", 0, getResources().getString(R.string.jcq1), -1));

它给了我这个错误:

The method getResources() is undefined for the type Quiz

其中Quiz 是java 代码所在的类的名称。 getResources() 方法的所有其他示例代码似乎都以与我相同的方式使用它,没有问题。什么是我的实现不工作?

编辑

public class Quiz {

    public Quiz(Context c) {

                    jc.add(new Question("42", "21", "33", "29", 0, c.getResources().getString(R.string.jcq1), -1));
                    // 300 other lines pretty much identical to the one above follows...

【问题讨论】:

  • 你能发布测验课程代码吗?我想知道你是否可以使用 context.getResources() 等。
  • 编辑开篇文章以包含测验课程代码。

标签: java android resources getresource


【解决方案1】:

getResources()Context 的一个方法。如果您的Quiz 类不是Context 的子类(例如Activity 等),那么您必须传入一个有效的Context 并在该Context 上调用getResources()

【讨论】:

  • 刚刚在我的开篇文章中更新了我的Quiz 代码。我认为这解决了它。现在只需要弄清楚如何测试它是否真的拉出西班牙版本的字符串。谢谢!
【解决方案2】:

您正在查看的示例可能期望此代码用于 Activity 类,而您的 Quiz 类显然不是。 this method 需要一个 Context

【讨论】:

  • 刚刚在我的开场帖中更新了我的测验代码。我认为这解决了它。现在只需要弄清楚如何测试它是否真的拉出了西班牙语版本的字符串。谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-05-21
  • 2018-12-11
  • 1970-01-01
  • 2012-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多