Ниже приведен код, который я сделал, чтобы получить элемент строки массива:Android - получить массив строк из ресурсов
String[] menuArray;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ScrollView sv = new ScrollView(this);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);
// Create an ArrayAdapter that will contain all list items
ArrayAdapter<String> adapter;
menuArray = getResources().getStringArray(R.array.menu);
for(int i = 0; i < menuArray.length; i++)
{
Button b = new Button(this);
b.setText(menuArray[i]);
ll.addView(b);
}
this.setContentView(sv);
}
Это файл strings.xml:
<string-array name="menu">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
Однако R.array.menu с этой проблемой для компиляции: Начиная с ADT 14, поля ресурсов не могут использоваться в качестве корпусов коммутаторов. Вызовите это исправление, чтобы получить дополнительную информацию.
Да, я могу предоставить вам снимок из эмулятор, если вы хотите видеть. Я просто пропустил использование переменной ** x ** вместе с блоком try catch, поскольку определение ** count() ** не предусмотрено. –
Вы используете ключи с идентификаторами ресурсов? check [This] (http://stackoverflow.com/questions/8387777/what-is-migrate-android-code) –
Я решаю это d .. это просто потому, что я вывожу app_name из strings.xml LOL –