0

我们可以将ArrayList包含设置HashMapArrayAdapter吗?

我在用着:

ArrayList<HashMap<String,String>> items = new ArrayList<HashMap<String,String>>();
ArrayAdapter<ArrayList<HashMap<String, String>>> ad = new ArrayAdapter<ArrayList<HashMap<String,String>>>(this, android.R.layout.simple_list_item_1,items);

但这给了我一个错误说:

构造函数 ArrayAdapter>>(searchname, int, ArrayList>) 未定义

4

3 回答 3

3

ArrayAdapter想知道列表中项目类型,而不是列表本身的类型。拆下外壳ArrayList<>,它应该可以工作。

ArrayList<HashMap<String,String>> items =
        new ArrayList<HashMap<String,String>>();

ArrayAdapter<HashMap<String, String>> ad =
        new ArrayAdapter<HashMap<String,String>>(this,
            android.R.layout.simple_list_item_1,items);
于 2012-11-19T16:26:56.803 回答
0

看看这个链接Android Array Adapter with ArrayList and ListView not updated when the arraylist is changed

基本上你需要通过 add 方法将你的 ArrayList 添加到 ArrayAdapter 中。

于 2013-05-27T15:51:29.550 回答
0

您可以将类型转换HashMap<String,String>>为类。例如,如果 hashmap 的键是国家,值是语言,你可以用这两个变量(国家,语言)创建一个名为“国家”的类。然后 AdapterClass 必须扩展ArrayAdapter<Country>,在 getView 方法中您可以访问每个 Country 的两个变量。

于 2019-01-04T10:42:04.937 回答