数组适配器需要的对象的列表作为第三个参数作为公共构造文档建议(来源Developer Android):
Constructor
ArrayAdapter(Context context, int textViewResourceId, T[] objects)
Constructor
ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
Constructor
ArrayAdapter(Context context, int textViewResourceId, List<T> objects)
Constructor
ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)
所以你只需要封装你String将数组(即使你只有一个字符串可以显示)。
ArrayList<String> arr = new ArrayList<String>();
arr.add(s);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, arr));
编辑 确定。你为什么不尝试一个非常基本的if-else语句?喜欢:
ArrayList<String> arrButton1 = new ArrayList<String>();
ArrayList<String> arrButton2 = new ArrayList<String>();
ArrayList<String> arrToChoose;
if(s.equals("button1")) {
arrToChoose = arrButton1;
} else if(s.equals("button2")) {
arrToChoose = arrButton2;
}
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, arrayToChoose));
我试过了,但后来它只显示我的变量。如果s =“button1”,如果我将它封装在数组中,唯一出现在listView中的是button1。我试图在这个活动中加载一个名为button1的字符串数组的内容。 – Roger 2011-02-23 22:24:03
好的。我希望我明白你想要解决什么问题。基本上你想显示一个或另一个数组,取决于用户是通过点击一个按钮还是另一个来进行该活动?看到我的编辑... – 2011-02-23 22:35:19
这工作,谢谢。 – Roger 2011-02-23 22:42:25