Android ListПросмотреть содержимое

1

Как настроить onClickListener для представления списка, чтобы каждый элемент списка списка перешел к другому намерению?

Теги:
android-emulator
android-intent
android-listview

3 ответа

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

Установите слушателя следующим образом:

myListView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView parent, View view, int position, long id) {
                String item = (String) myListView.getAdapter().getItem(position);

                Intent intent = new Intent(getBaseContext(), MyActivity.class);
                intent.putExtras("name", item);
                startActivity(intent);
        }
    });

РЕДАКТИРОВАТЬ

Вы используете position которую вы получаете в слушателе, чтобы получить элемент в списке в этой позиции. Затем вы можете связать элемент с Intent и отправить его в Activity (см. Код выше с putExtra)

  • 0
    что вы делали с переменной item? это не появляется
  • 0
    item - это то, что вы щелкнули в списке. Так , предположительно, вы будете использовать item , чтобы выяснить , какую Activity запустить. Учитывая, что у нас нет от вас других подробностей, невозможно сказать, как вы использовали бы этот item для выбора Activity .
Показать ещё 3 комментария
2

Если вы расширяете ListActivity, вы можете сделать что-то вроде этого:

    @Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    String item = (String) getListAdapter().getItem(position);
            Intent intent = new Intent(present_activity.this,target_activty.class);
            intent.putExtras("key",item);
            startActivity(intent);
}

Надеюсь это поможет..:)

  • 0
    хммм ... но как определение строкового элемента помогает, если вы не используете его позже в намерениях ?, спасибо кстати
  • 0
    @ user1236269 Я изменил свой ответ бит жизни. пожалуйста, посмотрите его.
0

Если вы заполняете список через адаптер, вы можете использовать onListItemClick(), который предоставит вам listView, щелкнув представление и позицию в списке.

Оттуда вы можете использовать переключатель на позиции, чтобы начать различные действия. Или, если ваш список более динамичен, вы можете иметь представление в списке, которое сохраняет активность, которую он хочет открыть в своем теге. (view.setTag("acivityName")) и используйте что-то вроде этого, чтобы начать работу:

String activityName = view.getTag();
i = new Intent(v.getContext(), Class.forName(activityName));
startActivity(i);

Ещё вопросы

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