Я создаю динамическую строку и добавляю эту строку в макет таблицы. Во время создания строки устанавливается значение каждого textView. Но у нас возникает проблема с установкой значения на клик-слушателе каждого элемента строки. Фактически у нас есть два текстовых элемента внутри каждой строки и onclick первого текстового вида, который мы открываем сборщик данных. поэтому я хочу, чтобы значение даты отображалось в textview.Как установить значение строки в таблице Layout динамически в android?
tableLayout = (TableLayout) dialog.findViewById(R.id.tableLayout_popup);
View tableRow = LayoutInflater.from(MileStoneActivity.this).inflate(R.layout.cdd_popup1st_row, null, false);
tableLayout.addView(tableRow);
for (int i = 0; i < masterDataList.size(); i++) {
/* if (i == 0) {
View tableRow = LayoutInflater.from(MileStoneActivity.this).inflate(R.layout.cdd_popup1st_row, null, false);
tableLayout.addView(tableRow);
} else {*/
final View tableRow1 = LayoutInflater.from(MileStoneActivity.this).inflate(R.layout.cdd_popup_row, null, false);
tableRow1.setId(i);
tv1 = (TextView)tableRow1.findViewById(R.id.textView24);
tv2 = (TextView)tableRow1.findViewById(R.id.textView25);
tv2.setId(i);
tv1.setText(masterDataList.get(i).getLineItemNumber());
tv2.setText((masterDataList.get(i).getRequestedDeliveryDate()));
tv2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rowNumber = tableRow1.getId();
new DatePickerDialog(MileStoneActivity.this, date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH)).show();
// dialog.dismiss();
// }
}
});
tableLayout.addView(tableRow1);
Это мой выбор даты у слушателя: MyCalendar = Calendar.getInstance();
final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
myCalendar.set(Calendar.YEAR, year);
myCalendar.set(Calendar.MONTH, monthOfYear);
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateLabel();
}
};
Мне не удалось установить текстовое значение tv2. Я хочу изменить значение конкретной строки, которая была нажата. Пожалуйста, помогите мне. любая помощь будет оценена в продвинутом виде.
Thx для ответа. но как я могу узнать, какая строка tv2 textView принадлежит – Anand
@Anand Передавая телевизор, вы можете получить parentView, который будет строкой – user6547359
, он установит значение последнего текстового просмотра строки, а не нужную строку. – Anand