【发布时间】:2012-02-25 21:29:26
【问题描述】:
我有一个 HashMap
HashMap<String, Integer> map = new HashMap<String, Integer>();
在地图中有一些价值。我想一一获取值并将其添加到列表视图中。地图中的值是
{Intent { cmp=Bluetooth/300 }=300, Intent { cmp=Audio/400 }=400, 意图 { cmp=Video/500 }=500, 意图 { cmp=Display/100 }=100, 意图 { cmp=WiFi/200 }=200}
列表视图中有两个文本视图。 我想在列表视图中显示为
显示 100
WiFi 200
蓝牙 300。
现在我公开我的适配器类,这将对您有所帮助...
private class NewAdapter extends BaseAdapter {
public NewAdapter(IntentTestingActivity intentTestingActivity,
HashMap<String, Integer> 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<String, Integer> hashmap = map;
for (Entry<String, Integer> e : hashmap.entrySet()) {
String key = e.getKey();
int value = e.getValue();
Set<String>keyname = map.keySet();
Log.d(TAG, "Key: " + key+ " Value: "+value);
}
className.setText(name.toString());
// tagName.setText(keyName);
return v;
}
}
其中name是一个包含所有keyValue的字符串,如Display、Vedio等。
提前谢谢...
【问题讨论】:
-
我不明白所有这些 +1 和收藏夹?我错过了什么:$?
标签: android hashmap android-listview