-1

我有这个

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>

但我需要为每个国家添加当前图像,例如保加利亚我想添加保加利亚国旗等。

但是我需要将这个字符串数组存储在资源中,因为我想为更多语言进行本地化。

谢谢

4

1 回答 1

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() 中的视图中。可以在 onCreate() 期间或在您的应用程序中的类中完成创建列表的操作。

于 2012-07-26T17:37:09.137 回答