динамический setOnCLickListener

1

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

  • 0
    Вы все делаете неправильно (в предыдущей очереди я видел, что вы используете макет таблицы и заполняете строки из базы данных) ... Для таких вещей используйте ListView и адаптер ... Метод Onitemclick уже есть ... Используйте Google и ищите listview + Пример sqlite db
  • 0
    Мысль, если возможно изменить представление списка, чтобы иметь таблицы для большего количества столбцов, у меня есть собственный listView с БД, которая используется для других данных в том же приложении. Идея состояла в том, чтобы в окне было что-то вроде строк phpMyadmin
Теги:
listener
imagebutton

1 ответ

2
Лучший ответ

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

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



                });
  • 0
    спасибо за идею, но если я не знаю, сколько кнопок мне нужно создать, потому что это зависит от количества строк в БД, у меня нет динамического прослушивателя, то есть то, что я искал. Кстати, я решил, что это большая работа, сделать это таким образом ... Я уже поместил представление списка с курсором и кнопкой мыши, чтобы управлять небольшим меню опций.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню