Как получить одно значение из Hashmap для намерения без использования textview?

1


Я извлекаю несколько данных из базы данных, затем сохраняю их в hashmap и отображаю их в listview.

HashMap<String, String> map = new HashMap<String, String>();

            map.put(TAG_NAME, name);
            map.put(TAG_ADDRESS, address);
            map.put(TAG_VID, vid);
            venueList.add(map);

Это значение, которое я хочу перейти на другую страницу.


@Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // getting values from selected ListItem
            String name = ((TextView) view.findViewById(R.id.name)).getText().toString();
            String address = ((TextView) view.findViewById(R.id.address)).getText().toString();
            String vid = "NEED HELP HERE"

            // Starting new intent
            Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class);
            in.putExtra(TAG_NAME, name);
            in.putExtra(TAG_ADDRESS, address);
            in.putExtra(TAG_VID, vid);
            startActivity(in);
        }

Мне удается передать значение, отображаемое в TextView, но как передать VID, который не является TextView?

String vid = getListAdapter().getItem(position).toString();

Я пробовал это, но он показывал все данные. Как выбрать один конкретный VID?

Благодарю.

  • 0
    Что такое VID в контексте вашего вопроса?
  • 0
    возможно, вместо добавления значений в хэш-карту вы можете добавить их в String Vector, чтобы вы могли искать позицию строки в представлении списка и использовать эту позицию для получения данных из String Vector.
Показать ещё 1 комментарий
Теги:
hashmap
android-intent

1 ответ

1
Лучший ответ

Вы можете поместить vid в пучок непосредственно из карты

in.putExtra(TAG_VID, map.get(TAG_VID));
  • 0
    сделать вашу карту как глобальный объект. еще вставьте свой код, чтобы я мог предложить любую другую возможность
  • 0
    Спасибо Waqas, это работает с этим кодом. HashMap<String, String> map = new HashMap<String, String>(); map = (HashMap<String, String>) getListAdapter().getItem(position);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню