динамический setOnCLickListener - PullRequest
1 голос
/ 15 марта 2012

Я использую макет таблицы со строками, взятыми из базы данных SQLite, поэтому я добавляю строки динамически, добавляя представления в строку.Теперь я добавил и imageButton в каждую строку, которая обрабатывает издание строки, и другие, которые добавляют его в базу данных SQLite.Я хотел бы, если я иду по правильному пути, поэтому, если есть способ добавить SetOnClickListener к каждому сгенерированному imageButton?

1 Ответ

2 голосов
/ 15 марта 2012

Я использовал этот код для добавления событий нажатия для динамически генерируемой кнопки

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");



                });
...