Android的ListView控件使用键 - 值映射型结构可能吗?

我是从一个字符串数组填充资源的一个ListView。 我试图找出如何我可以使用结构的关键值类型,所以关键是显示在ListView,并且在选择某一行,我可以得到的价值。

我知道我可以维持值的独立阵列,通过该行的选定索引进行查找,但是这是很难维持的。

此外,我想我可以做一个POJO,建设有我自己的自定义列表适配器这些对象名单,但我想如果可能的话只使用一个简单的XML文件。

我读的文档,看看我是否能在XML做到这一点,但我还没有发现这样的事吗?

感谢您的时间。

--------------解决方案-------------

你可能想使用下令如TreeMap的或者LinkedHashMap地图,并把它传递给您的适配器。

这将使你想达到什么目的。

你基本上需要有利用键值对数据结构(图)适配器,并设置它在你的列表视图,是这样的:

public class OrderedMapAdapter extends BaseAdapter {

Map.Entry[] entries;

/***
* Pass the key value pair map using an ordered map data structure
* @param orderedMap An ordered map, either LinkedHashMap or TreeMap
*/
public OrderedMapAdapter(LinkedHashMap orderedMap) {
this.entries = orderedMap.entrySet().toArray(new Map.Entry[0]);
}

public int getCount() {
return entries.length;
}

/***
* This should get you the position you want in Key-value pair format
* that you could use whenever the row is selected
*/
public Map.Entry getItem(int position) {
return entries[position];
}

public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
// display your view here
return null;
}
}

我相信,使用自定义列表适配器您的第二个建议将是你想要做什么最简单的解决方案。

该SimpleAdapter驱使你提到的XML文件的做法,是相当特别的接收数据的格式。 如果你能调整你的输入数据匹配的格式,在SimpleAdapter将正常工作。

否则,使用一个ArrayAdapter和POJO,并构建实施所需的列表。

我刚刚创建了一堆的POJO,并使用了自定义列表适配器从列表行对象显示的相关数据。

分类:安卓 时间:2015-03-15 人气:0
本文关键词: 列表视图,机器人
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.355 (s). 10 q(s)