передача данных строки из адаптера в новую активность из ListView

У меня есть ListView, созданный с помощью SimpleCursorAdapter. Список представляет торговцев. Когда кто-то нажимает на продавца, я хочу просмотреть полную информацию об этом конкретном продавце.

в этом списке (lv1) я устанавливаю слушателя

lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> av, View v, int pos, long id) {

            //Cursor merchant = (Cursor) adapter.getItem(pos);

            Intent merchant = new Intent(v.getContext(), MerchantView.class);
            merchant.putExtra("merchantPosition", pos);
            startActivity(merchant);
        }
    });
  1. Как мне передать данные в представление продавца наиболее оптимальным образом?

  2. У меня есть статическая ссылка на адаптер, поэтому я думаю, что могу каким-то образом использовать вызов getItem (так же, как в закомментированной строке), а затем передать его как putExtra в Merchant. Если это способ сделать это, как мне использовать getItem (я пытался пару раз, но не смог извлечь нужные мне данные).

P.S Адаптер делает sql-запрос ранее к базе данных со столбцами - ID, NAME, DESCRIPTION, STATUS

Спасибо!


person AndroidGecko    schedule 09.01.2012    source источник


Ответы (1)


Что я делаю в своих приложениях, так это переопределяю SimpleCursorAdapter.setViewBinder(), чтобы установить тег представлений внутри ListView с идентификатором из БД и передать этот идентификатор намерению в setOnItemClickListener(). Проверьте этот вопрос что похоже на то, что вы хотите сделать

person Mohamed_AbdAllah    schedule 09.01.2012