【问题标题】:Android Initializing a String[] with getString values?Android用getString值初始化一个String []?
【发布时间】:2016-05-08 15:57:16
【问题描述】:

我正在尝试在 Android 中创建一个字符串数组...这可行:

String titles[] = { "Matches", "Players" };

这不是:

String titles[] = { getString(R.string.matches), getString(R.string.players) };

我该如何做我想做的事?

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.content.res.Resources android.content.Context.getResources()”

【问题讨论】:

  • 我们需要更多的上下文。在您执行此操作时,是否有完整构造的 ActivityContext 实例可用?
  • edit您的帖子包含更多详细信息,例如您看到的确切错误。
  • 添加了错误...不管我是否把它放在上下文之后...仍然是同样的错误。

标签: java android


【解决方案1】:

您可能正在尝试将您的 String[] 初始化为一个类字段,这是不允许的,因为您还不能访问资源,如异常所示。

将分配移动到您的 onCreate 方法中,它将起作用。

private String[] titles;

@Override
protected void onCreate(Bundle savedInstanceState) {
    ....
    titles = new String[] { getString(R.string.matches), getString(R.string.players) };
    ....
}

【讨论】:

    【解决方案2】:

    试试这个:

    String titles[] = { getResources().getString(R.string.matches), getResources().getString(R.string.players) };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多