下面是我检索字符串数组项的代码:
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开始,资源字段不能用作交换机案例。 调用此修复程序以获取更多信息。
答案 0 :(得分:30)
如何从资源中检索字符串数组:
array.xml
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?example\.com [NC]
RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?example\.com.*$ [NC]
RewriteRule \.(jpe?g?|png|gif|ico|pdf|flv|swf|gz)$ - [F]
代码
<?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>
(OP已经回答了他们的问题,但根据问题标题,其他人可能会来这里寻找这个答案。)
答案 1 :(得分:5)
for(int i = 0;i<menuArray.length; i++)
{
Button b = new Button(this);
b.setText(menuArray[i]);
ll.addView(b);
}
删除以下声明
try {
x = count();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
并尝试为所有布局提供布局高度和宽度..