Несколько longclicklisteners

#java #android

#java #Android

Вопрос:

У меня есть 10 элементов, которые при длительном нажатии открывают диалоговое окно для конкретного элемента. Это не listview.

Прямо сейчас я регистрирую прослушиватель длинных кликов для каждого элемента. Возможно ли зафиксировать вид элемента, на который долго нажимали, так же, как вы можете установить android:onClick=»ButtonClick», и в коде есть public void ButtonClick (Просмотр v), где вы можете затем идентифицировать нажатую кнопку с помощью v?

Ответ №1:

вы можете

создайте класс, реализующий longclicklistener

и переопределите это как

 private class MyOnClickListener implements OnLongClickListener{
    @Override
    public void onLongClick(View v){
       id=v.getId();
       switch(id){
         case R.id.item1:
            //your item1 code
         case R.id.item2:
           //your item 2 code
       }
    }
}
  

объявите его как свой внутренний класс для удобства доступа к вашим значениям

Комментарии:

1. Нужно ли мне .setOnLongClickListener(this); для каждого элемента по-прежнему или я делаю это неправильно?

2. это тоже хорошая идея, просто реализовать ее в основном действии