Android的HashMap方法,android-从hashmap获取值并添加到listview

本文介绍了如何将HashMap中的键值对提取出来并显示在Android的ListView中。通过创建自定义适配器和POJO类,将HashMap的键和值分别设置到ListView的item中,实现了数据的展示。示例代码展示了具体的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有一个HashMap

HashMap map = new HashMap();

在地图上有一些价值.我想一一获得该值并将其添加到列表视图中.地图中的值是

{Intent { cmp=Bluetooth/300 }=300, Intent { cmp=Audio/400 }=400,

Intent { cmp=Video/500 }=500, Intent { cmp=Display/100 }=100, Intent {

cmp=WiFi/200 }=200}

列表视图中有两个textview.

我想在列表视图中显示为

Display 100

WiFi 200

Bluetooth 300.

现在,我公开我的适配器类,这将对您有所帮助…

private class NewAdapter extends BaseAdapter {

public NewAdapter(IntentTestingActivity intentTestingActivity,

HashMap map) {

}

@Override

public int getCount() {

Log.d(TAG, "Map size is: " + map.size());

return map.size();

}

@Override

public Object getItem(int arg0) {

return null;

}

@Override

public long getItemId(int arg0) {

return 0;

}

@Override

public View getView(int position, View view, ViewGroup parent) {

View v = view;

if (v == null) {

LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

v = vi.inflate(R.layout.class_name, null);

}

TextView className = (TextView) v.findViewById(R.id.name);

TextView tagName = (TextView) v.findViewById(R.id.tag_name);

Integer key_name;

key_name = map.get(name);

Log.d(TAG, "Complete map is: " + map.toString());

// String tag = map.get(tagName).toString();

// Integer name = map.get(className);

String keyName;

keyName = map.toString();

Log.d(TAG, "KeyName is: " + map.get(tag));

for (int i = 0; i < map.size(); ++i)

Log.d(TAG, "Tag is: " + tag + " and Name is: " + name + " and Intent is: "+intent);

HashMap hashmap = map;

for (Entry e : hashmap.entrySet()) {

String key = e.getKey();

int value = e.getValue();

Setkeyname = map.keySet();

Log.d(TAG, "Key: " + key+ " Value: "+value);

}

className.setText(name.toString());

// tagName.setText(keyName);

return v;

}

}

其中name是一个仅包含所有keyValue的String,例如Display,Vedio ect.

提前感谢…

解决方法:

您可以使用getter-setter创建POJO类,并将键和值设置为该类.

List list = new ArrayList();

Iterator> iterator = map.entrySet().iterator();

Entry< String, Integer> entry;

while(iterator.hasNext()){

POJO obj = new POJO();

entry = iterator.next();

Log.d("Key Value",entry.getKey()+" "+entry.getValue());

obj.setKey(entry.getKey());

obj.setValue(entry.getValue());

list.add(obj);

}

然后将此列表设置为您的Adapter类.这将是一个简单的方法.

标签:hashmap,android-listview,android

来源: https://codeday.me/bug/20191101/1985874.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值