Динамический setOnCLickListener
Я использую макет таблицы со строками, взятыми из базы данных SQLite, поэтому я добавляю строки динамически, добавляя представления в строку. Теперь я добавил и imageButton
в каждой строке, которые обрабатывают издание строки и другие, которые добавляют его в базу данных SQLite. Я хотел бы, если я иду по правильному пути, поэтому, если есть способ добавить SetOnClickListener
каждому сгенерированному imageButton
?
1 ответ
Решение
Я использовал этот код для добавления событий нажатия для динамически генерируемой кнопки
for (int position=0; position < parseInt; position++)
{
TableRow tableRow= new TableRow(this);
tableRow.setBackgroundColor(006400);
// ArrayList<Object> row = data.get(position);
TextView idText = new TextView(this);
idText.setText(Integer.toString(position + 1));
idText.setGravity(Gravity.CENTER);
idText.setTextColor(Color.BLACK);
idText.setWidth(10);
idText.setHeight(30);
idText.setBackgroundResource(R.drawable.textbg);
// idText.setPadding(0, 0, 1,0);
tableRow.addView(idText);
//THE CLICK EVENT OF BUTTON
Button textOne = new Button(this);
textOne.setText("CLUB");
textOne.setBackgroundResource(R.drawable.textbg);
textOne.setGravity(Gravity.CENTER);
textOne.setTextColor(Color.BLACK);//left top right bottom
// textOne.setPadding(2, 1, 1,0);
// textOne.setB;
textOne.setWidth(10);
textOne.setHeight(30);
textOne.setId(1+position);
tableRow.addView(textOne);
// textOne.setOnClickListener(this);
textOne.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// do something when the button is clicked
final Button button = (Button) arg0;
System.out.println("button is clicked");
});