В моем приложении я создаю динамические строки в таблице так же, как в этом уроке:
http://en.androidwiki.com/wiki/Dynamically_adding_rows_to_TableLayout
for(int i = startDay; i < startDay + 7; i++){
/* Create a TextView to be the row-content. */
TextView day = new TextView(this);
day.setText(Integer.toString(i));
day.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
day.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("Listener: ", "Click");
}
Так что теперь, когда я нажимаю на TextView, я могу зарегистрировать событие нажатия, но как мне определить, какой TextView был нажат?
Не только объект, который я получаю с событием, но и данные, например, по какому номеру дня щелкнули?
В идеале я хотел бы, чтобы данные были присоединены к каждому представлению, которое я создаю динамически.
Что-то вроде метода data () в javascript jQuery.
Прямо сейчас я вижу только 1 способ решить эту проблему - при создании TextView добавить идентификатор с данными и при нажатии - вернуть идентификатор и проанализировать его, чтобы получить мои данные. Но это кажется мне ужасным подходом.
Есть ли способ прикрепить произвольные данные к представлениям Android?