В моем XML у меня есть TableLayout только с 1 TableRow, то есть заголовком.Остальные все строки я добавляю динамически, устанавливая BackgroundColor (LTGray) для TableRow и TextColor для TextViews в нем.Я также обрабатываю событие клика в каждой строке.
private void createView(TableRow tr, TextView tv, String data, int rowId) {
tv.setText(data);
//tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tv.setTextColor(Color.BLACK);
tv.setPadding(20, 0, 0, 0);
tr.setPadding(0, 1, 0, 1);
tr.setBackgroundColor(Color.LTGRAY);
tr.setId(rowId);
tr.setClickable(true);
tr.setOnClickListener(this);
tr.addView(tv);
}
Reg selection: я хочу изменить BackgroundColor TableRow, скажем, Yellow.Таким образом, если выбран 1-й ряд, bgColor должен быть желтым.Затем, если выбран 3-й ряд, цвет 1-го ряда должен превратиться в LTGray.
И если щелкнуть любой из строк, то выбранная строка (если она вообще есть) также должна быть отменена.Для этого мне нужно добавить основной макет clickListener ИЛИ снова сделать выбор строки, и она станет невыбранной?
Может ли селектор (список состояний отображаться) работать в обоих направлениях, или я должен обработать его программно.Какой тип Drawable я должен использовать для setBackgroundDrawable в своем Java-коде, чтобы выбрать список состояний для рисования?
Я считаю, что, как и другие компоненты для TableRow, onClick также позаботится о onTouch.Пожалуйста, поправьте меня, если я не прав.Так же, как и та же особенность, касающаяся касания ряда.
Каков наилучший способ достижения цели?Любая помощь высоко ценится.