как узнать, нажат ли элемент в списке/получение элемента списка из id

Я заполнил представление списка. которые появляются как

123 apple
456 Linux
789 windows

Я также добавил к нему прослушиватель onItemClick, и, отображая тост, я могу проверить идентификатор нажатого списка. Поскольку у меня есть длинный список ок. 1000 элементов, я хочу, чтобы при нажатии элемента 1 я получил список. что-то типа

String clicked_Item = 123 apple. 

как мне это сделать. вот мой слушатель itm.

listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long id) {
Toast.makeText(getActivity(), "item clicked id="+id, Toast.LENGTH_LONG).show();
}
}); 

person Rida Shahid    schedule 23.12.2013    source источник


Ответы (1)


В вашем адаптере у вас должен быть метод с именем getItem(position) Итак, в вашем onItemClickListener int arg2 означает позицию списка, по которому был сделан щелчок.

listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long id) {
        Object object = adapter.getItem(position);
        Toast.makeText(getActivity(), "item clicked id="+id, Toast.LENGTH_LONG).show();
    }
});

Таким образом, этот объект может быть вашей моделью, что означает, что этот объект содержит всю необходимую вам информацию. Так что бери, что хочешь.

person Renan Bandeira    schedule 23.12.2013
comment
поэтому, если я это сделаю, будет ли он отображать строку/данные в этой конкретной позиции? - person Rida Shahid; 23.12.2013
comment
Да, потому что параметр arg2 означает позицию в списке, которая была нажата. Таким образом, в вашем адаптере вы можете иметь этот элемент, особенно - person Renan Bandeira; 23.12.2013