2010-05-24 49 views
0

我是Android和Java的新手,并且希望编写一个函数,该函数将显示基于我传递给函数的变量的列表。传递变量字符串来创建数组(Android)

该函数在下面,下面的代码从一个名为type的字符串中创建一个数组,但我想要做的是将它传递给一个变量字符串,并让它根据该字符串构建一个列表。

所以,如果我想要的类型列表中,我会说list_it("type")

但是,如果我尝试像getResources().getStringArray(R.array.thelist);这是行不通的。

有人能指出我正确的方向吗?

public void list_it(String thelist){ 
    String[] types = getResources().getStringArray(R.array.type); 
     ArrayAdapter<String> mAdapter = new ArrayAdapter<String>(this, R.layout.list_item1, types); 
     setListAdapter(mAdapter); 
     ListView lv = getListView(); 
     lv.setTextFilterEnabled(true); 
} 

回答

2

使用下面的代码来获取标识为给定的名称即的thelist:

int resID = getResources().getIdentifier(thelist, "string", "<package name>");

这将返回标识为给定的资源名称。然后使用

getResources().getStringArray(resID);

HTH!

+0

非常感谢,这工作得很好!由于我对此非常陌生,所以我不确定从何处获取类型(“字符串”),然后从R.java中查找并从那里获取。如果有其他新手看到这个。再次感谢。 – shaneburgess 2010-05-24 06:07:17

+0

感谢男人你的小代码帮助我很多。 – amity 2011-10-10 08:10:56