Android - 从资源中检索字符串数组

时间:2012-05-10 11:19:31

标签: android string resources

下面是我检索字符串数组项的代码:

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开始,资源字段不能用作交换机案例。 调用此修复程序以获取更多信息。

2 个答案:

答案 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();
    }

并尝试为所有布局提供布局高度和宽度..