Android使用getString值初始化String []?

时间:2016-01-31 02:05:30

标签: java android

我正在尝试在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()'在空对象引用上

  

2 个答案:

答案 0 :(得分:2)

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

将作业移到onCreate方法中,它会起作用。

private String[] titles;

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

答案 1 :(得分:0)

试试这个:

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