У меня есть SimpleAdapter, который заполняет ListView, но когда пользователь нажимает элемент, я хотел бы иметь возможность получить исходный HashMap, который использовался для заполнения строки, по которой щелкнули. К сожалению, кажется, что все, что я могу получить, это Object, который поддерживает только 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
}
});