Как настроить onClickListener для представления списка, чтобы каждый элемент списка списка перешел к другому намерению?
Установите слушателя следующим образом:
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
)
Если вы расширяете 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);
}
Надеюсь это поможет..:)
Если вы заполняете список через адаптер, вы можете использовать onListItemClick(), который предоставит вам listView, щелкнув представление и позицию в списке.
Оттуда вы можете использовать переключатель на позиции, чтобы начать различные действия. Или, если ваш список более динамичен, вы можете иметь представление в списке, которое сохраняет активность, которую он хочет открыть в своем теге. (view.setTag("acivityName")) и используйте что-то вроде этого, чтобы начать работу:
String activityName = view.getTag();
i = new Intent(v.getContext(), Class.forName(activityName));
startActivity(i);
item
- это то, что вы щелкнули в списке. Так , предположительно, вы будете использоватьitem
, чтобы выяснить , какуюActivity
запустить. Учитывая, что у нас нет от вас других подробностей, невозможно сказать, как вы использовали бы этотitem
для выбораActivity
.