Android - retrieve string array from resources
52,039
Solution 1
for(int i = 0;i<menuArray.length; i++)
{
Button b = new Button(this);
b.setText(menuArray[i]);
ll.addView(b);
}
Delete the below statement
try {
x = count();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
and try to give layout height and width to all Layouts..
Solution 2
How to retrieve a string array from resources:
array.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="my_string_array">
<item>one</item>
<item>two</item>
<item>three</item>
</string-array>
</resources>
Code
String[] stringArray = getResources().getStringArray(R.array.my_string_array);
(The OP already had their question answered but based on the question title, other people may come here looking for this answer.)
Author by
Yuen Tong
Updated on July 24, 2022Comments
-
Yuen Tong almost 2 years
Below is the code that i made to retrieve the string array item:
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); }
This is the strings.xml file:
<string-array name="menu"> <item>1</item> <item>2</item> <item>3</item> </string-array>
However, the R.array.menu having this issue to compile: As of ADT 14, resource fields cannot be used as switch cases. Invoke this fix to get more information.
-
Yuen Tong about 12 yearsi have update the code above. But still having the same issue for the R.array.menu.
-
c2dm about 12 yearsTake a separate arrays.xml and take string array t<?xml version="1.0" encoding="utf-8"?> <resources> <array name="testArray"> <item>first</item> <item>second</item> <item>third</item> <item>fourth</item> <item>fifth</item> </array> </resources>here