我有一个HashMap
HashMap<String, Integer> map = new HashMap<String, Integer>();
在地图上有一些数值。我想逐个获取这些数值并将其添加到列表视图中。该数值存储在地图中,如下所示:
列表视图中有两个文本视图。我希望在列表视图中显示如下内容:{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}
现在我发布了一个适配器类,它将对您有所帮助...Display 100
WiFi 200
Bluetooth 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只是一个字符串,其中包含所有的键值对,比如Display、Vedio等。
提前致谢...