我有这个
setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(),
R.array.listOfCountries, R.layout.row));
它从这个资源xml
创建基本列表视图<string-array name="listOfCountries">
<item>Bulgaria</item>
<item>Canada</item>
<item>Croatia</item>
<item>USA</item>
<item>UK</item>
</string-array>
但我需要在每个国家添加当前图像,例如保加利亚我想添加bulagria的旗帜等等。
但我需要在资源中使用这个字符串数组存储,因为我想为更多语言进行本地化。
谢谢
答案 0 :(得分:1)
您必须通过继承BaseAdapter并覆盖getView(),getCount(),getItem()等方法来创建自己的ListAdapter。
http://thinkandroid.wordpress.com/2010/01/13/custom-baseadapters/
像这样创建一个名为Country的类:
public class Country {
public String name;
public int flagResourceId;
public Country( String name, int flagResourceId ) {
this.name = name;
this.flagResourceId = flagResourceId;
}
}
然后,您可以在自定义BaseAdapter中使用它,并将该对象绑定到getView()中的View中。创建List的内容可以在onCreate()期间完成,也可以在Application中的类中完成。