Android: когда я устанавливаю OnClickListener для ListView - PullRequest
6 голосов
/ 11 февраля 2010
    lv.setOnClickListener(new OnClickListener(){
        public void onClick(View v){

        }
    });

Обозначает ли v ListView lv или определенный элемент, выбранный в списке?

Ответы [ 4 ]

7 голосов
/ 11 февраля 2010

Я считаю, что v относится ко всему ListView. Чтобы добавить обработчик щелчка для элемента, вы хотите использовать AdapterView.setOnItemClickListener .

5 голосов
/ 11 февраля 2010

Для того, что вы хотите, есть setOnItemClickListener.

3 голосов
/ 25 января 2012
listView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View view, int arg2,long itemID) {

        View itemView = view;
        String fromDate = ((TextView)itemView.findViewById(R.id.fromDate)).getText().toString();
        int position = (int) arg0.getSelectedItemId();
        Log.d(TAG, "ListView Selected : "+fromDate+" Position:"+position+" arg2:"+arg2+" arg3:"+itemID);
    }
});
3 голосов
/ 11 февраля 2010

onClickListener просто слушает клик на весь вид. v будет ListView.

То, что вы, вероятно, хотите, это onItemClickListener вместо onClickListener.

Или вы можете расширить ListActivity и переопределить onListItemClick()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...