Я хочу знать, какой столбец пользователь нажал в одном объекте TableRow. Это заголовок таблицы, и я хочу установить сортировку элементов по выбранному столбцу. В этом случае я могу использовать прослушиватель onClick. Проблема аналогична Как щелкнуть конкретную строку таблицы в TableLayout
Использование OnItemClickListener для TableRow
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
Я знаю, но я работаю над более крупным проектом, и это займет больше времени, чем другие решения. Но спасибо
- person Jakub Smolar; 13.07.2015