OnClickListener в Listview, заполненный CursorAdapter - PullRequest
0 голосов
/ 19 ноября 2010

У меня есть представление списка с 2 кнопками в каждой строке.Я использую cursoradpater для заполнения списка.

Я также использую шаблон держателя представления в newview () bindview ().

Мои вопросы: где я могу разместить списки кликов длякнопки, зная, что действие для кнопки отличается от действия самого элемента списка?Сохраняю ли я onListItemClick?

1 Ответ

1 голос
/ 19 ноября 2010

Вам не нужно onListItemClick

Вы можете попробовать связать для каждой вашей кнопки событие в адаптере

final Button button = (Button) findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 // Perform action on click
             }
         });

но, вероятно, это не сработает с элементом списка, поэтому вам нужен новый подход, как описано в документации к кнопке .

Однако вместо применения OnClickListener к кнопке в вашей деятельности вы можете назначить метод для вашей кнопки в макете XML с помощью атрибута android: onClick. Например:

<Button
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:text="@string/self_destruct"
     android:onClick="selfDestruct" />

Теперь, когда пользователь нажимает кнопку, система Android вызывает метод selfDestruct (View) действия. Чтобы это работало, метод должен быть общедоступным и принимать View как единственный параметр. Например:

 public void selfDestruct(View view) {
     // Kabloey
 }

Представление, переданное в метод, является ссылкой на виджет, по которому щелкнули.

...