我有以下字符串数组定义来设置选项卡名称:
private String[] tabs = { getResources().getString(R.string.Tab_1),
getResources().getString(R.string.Tab_2) };
如果我在模拟器上测试并想要启动活动,那么它总是无法启动。 但是,如果我将选项卡名称硬编码到数组中,如下所示:
private String [] tabs = {" Tab_1"," Tab_2"};
然后它有效。但我希望字符串ressource的值能够支持更多语言。错误在哪里?
提前感谢您的帮助。
答案 0 :(得分:2)
只需将代码移动到onCreate coz资源,该资源不可用于活动,直到调用onCreate回调为止。
private String[] tabs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabs = { getResources().getString(R.string.Tab_1),
getResources().getString(R.string.Tab_2) };
}