Использование OnItemClickListener для TableRow

Я хочу знать, какой столбец пользователь нажал в одном объекте TableRow. Это заголовок таблицы, и я хочу установить сортировку элементов по выбранному столбцу. В этом случае я могу использовать прослушиватель onClick. Проблема аналогична Как щелкнуть конкретную строку таблицы в TableLayout


person Jakub Smolar    schedule 13.07.2015    source источник
comment
Не усложняйте задачу. Просто установите onClickListener для каждого элемента, добавляемого в макет.   -  person Sheychan    schedule 13.07.2015
comment
Я не думал об этом таким образом. Спасибо, я попробую.   -  person Jakub Smolar    schedule 13.07.2015


Ответы (2)


Вы можете сделать это так:

установите тег для каждой строки таблицы следующим образом:

tablerow.setTag(pass object of item which you want to set on this tablerow)

Теперь установите прослушиватель:

tablerow.setListener(listener);

Слушатель должен быть передан от фрагмента/активности к адаптеру.

Итак, когда вы нажмете на любую строку, вы сможете прослушать ее во фрагменте как:

listener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                v.getTag(); here you will get object which you set above.
            }
        }

Итак, используя объект тега, вы можете найти, какая это строка.

person Kinnar Vasa    schedule 13.07.2015

я бы предложил использовать другой макет для отображения данных. GridView был бы хорошим решением. документы GridView Там у вас должно быть правильное событие, которое вы ищете для Прослушиватель кликов по элементам

person Hristo Staykov    schedule 13.07.2015
comment
Я знаю, но я работаю над более крупным проектом, и это займет больше времени, чем другие решения. Но спасибо - person Jakub Smolar; 13.07.2015