我必须对 ListView 的更多项目执行操作,因此我使用所选应用程序的名称(在我的列表中)和相对位置创建一个 HashMap。
public void createHashMap(String name, int mPosition) {
// TODO Auto-generated method stub
mHashMap = new HashMap<String, Integer>();
mHashMap.put(name, mPosition);
Toast.makeText(context, name+": "+mPosition, Toast.LENGTH_LONG).show();
}
在我的 Activity 类的 onItemClick 中
adapter.createHashMap(itemName, mPosition);
所以,当我点击一行时,我会显示带有正确信息的 toast ,现在我需要将数据检索到 HashMap 中,我写了这个
public void retrieveHashMap() {
Iterator myVeryOwnIterator = mHashMap.keySet().iterator();
while(myVeryOwnIterator.hasNext()) {
String key=(String)myVeryOwnIterator.next();
int value= mHashMap.get(key);
Toast.makeText(context, "Key: "+key+" Value: "+value, Toast.LENGTH_LONG).show();
}
}
这项工作有效,但是当我调用retrieveHashMap 方法时,我仅显示最后一个插入值。我怎样才能显示所有插入的值?
最佳答案
将 Toast.makeText
移到 while 循环之外,并使用您迭代的键在循环内创建您想要的消息。
您还需要检查是否在createHashMap()
中覆盖现有的mHashMap
关于java - hashmap 并从中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20613602/