Java 在Item Press上从SimpleAdapter/ListView检索原始HashMap

Java 在Item Press上从SimpleAdapter/ListView检索原始HashMap,java,android,android-listview,simpleadapter,Java,Android,Android Listview,Simpleadapter,我有一个用于填充ListView的SimpleAdapter,但当用户按下某个项时,我希望能够获得用于填充单击行的原始HashMap。不幸的是,我似乎只能得到一个只支持toString()的对象。让用户单击的视图中的字符串无效,因为它不是唯一标识符 如何获取用户单击的行的数据 ArrayList<HashMap<String, String>> reformedBundle = new ArrayList<HashMap<String, String>&

我有一个用于填充ListView的SimpleAdapter,但当用户按下某个项时,我希望能够获得用于填充单击行的原始HashMap。不幸的是,我似乎只能得到一个只支持toString()的对象。让用户单击的视图中的字符串无效,因为它不是唯一标识符

如何获取用户单击的行的数据

ArrayList<HashMap<String, String>> reformedBundle = new ArrayList<HashMap<String, String>>();
// [...]
mResultsAdapter = new SimpleAdapter(this,
    reformedBundle, R.layout.resultrow,
    new String[] { "ProviderName", "Street", "City" },
    new int[] { R.id.tvField1, R.id.tvField2, R.id.tvField3
});

lvResults.setAdapter(mResultsAdapter);

lvResults.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {
            // Here's where I want to get the original HashMap<String, String> so I can query other keys in the HashMap
        }
    });
ArrayList reformedBundle=new ArrayList();
// [...]
mResultsAdapter=新的simpledapter(此,
重新格式化包,R.layout.resultrow,
新字符串[]{“ProviderName”、“Street”、“City”},
新的int[]{R.id.tvField1,R.id.tvField2,R.id.tvField3
});
lvResults.setAdapter(mResultsAdapter);
lvResults.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父项、视图、整数位置、长id){
//这里是我想要获取原始HashMap的地方,这样我就可以查询HashMap中的其他键
}
});

我存储在一个成员变量中

private ArrayList<HashMap<String, String>> reformedBundle;

...

lvResults.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {
        HashMap<String, String> map = reformedBundle.get(pos);
    }
});
private ArrayList-reformedBundle;
...
lvResults.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父项、视图、整数位置、长id){
HashMap map=reformedBundle.get(pos);
}
});