无法获取带有字符串变量的 stringArray 资源
having trouble getting a stringArray resource with a string variable
我正在尝试通过在我的代码中使用变量字符串来访问资源中的字符串数组...
这是我的代码
package com.example.tryapp_5;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String group="SCIENCE";
int holderint = getResources().getIdentifier(group, "Array",
MainActivity.this.getPackageName());
String[] items = getResources().getStringArray(holderint);
Log.d("DEBUG", items[0]);
}
}
这是我的 xml 代码....
<string-array name="SCIENCE">
<item>BENGALI</item>
<item>ENGLISH</item>
<item>MATHMETICS</item>
<item>PHYSICS</item>
<item>CHEMISTRY</item>
<item>BIOLOGY</item>
</string-array>
我不知道怎么了。每次崩溃 logcat
android.content.res.Resources$NotFoundException: String array resource ID #0x0
提前致谢。
试试下面的代码:
Resources res = getResources();
String[] items = res.getStringArray(R.array.SCIENCE);
当您将 XML 文件保存在 res/values/strings 时,此代码将起作用。xml
我正在尝试通过在我的代码中使用变量字符串来访问资源中的字符串数组... 这是我的代码
package com.example.tryapp_5;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String group="SCIENCE";
int holderint = getResources().getIdentifier(group, "Array",
MainActivity.this.getPackageName());
String[] items = getResources().getStringArray(holderint);
Log.d("DEBUG", items[0]);
}
}
这是我的 xml 代码....
<string-array name="SCIENCE">
<item>BENGALI</item>
<item>ENGLISH</item>
<item>MATHMETICS</item>
<item>PHYSICS</item>
<item>CHEMISTRY</item>
<item>BIOLOGY</item>
</string-array>
我不知道怎么了。每次崩溃 logcat
android.content.res.Resources$NotFoundException: String array resource ID #0x0
提前致谢。
试试下面的代码:
Resources res = getResources();
String[] items = res.getStringArray(R.array.SCIENCE);
当您将 XML 文件保存在 res/values/strings 时,此代码将起作用。xml