У меня возникла проблема с попыткой получить содержимое представления, которое пользователь щелкнул в ListView. Мой ListView настроен с использованием SimpleAdapter и состоит из «заголовка» и «подзаголовка» для каждого элемента в списке. Они хранятся с использованием HashMap.
В действии также есть счетчик, когда пользователь выбирает элемент в счетчике, ListView обновляется. Это работает нормально, и я просто счел необходимым упомянуть, что происходит в рамках этой деятельности.
Что я пытаюсь сделать, так это получить, какой элемент выбрал пользователь, чтобы я мог направить их к новому действию на основе их выбора (сейчас просто пытаюсь отобразить содержимое просмотра с помощью Toast). Я хочу получить содержимое того, что хранится под ключом «engExp» для элемента.
Вот мой код:
// HASHMAP FOR LISTVIEW
List<HashMap<String, String>> fillMaps = new ArrayList<HashMap<String, String>>();
for(int x = 0; x < expressionListForModule.getCount(); x++) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("engExp", expressionListForModule.getString(0));
map.put("japDef", expressionListForModule.getString(1));
fillMaps.add(map);
expressionListForModule.moveToNext();
}
// SETUP LISTVIEW
SimpleAdapter adapter2 = new SimpleAdapter(this, fillMaps, android.R.layout.simple_list_item_2, new String[] {"engExp","japDef"}, new int[] {android.R.id.text1, android.R.id.text2});
ListView lv = (ListView) findViewById(R.id.expressionList);
lv.setAdapter(adapter2);
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_LONG).show();
}
});
В частности, элемент, вызывающий сбой приложения, следующий: ((TextView) view).getText()
Если вам нужно увидеть больше моего кода, пожалуйста, дайте мне знать.
Любая помощь приветствуется, заранее спасибо.