2012-01-26 2 views
6

Как я могу ответить на событие на основе нажатия отключенного Button. У меня есть требование, что я должен представить Dialog, когда инвалид Button щелчка, но слушатель я назначен не срабатывает даже тогда, когда я setClickable(false)Android - прослушивание отключенной кнопки

Am андроида нуб, извините.

ответ

7

кнопка отключена, не может слушать любое событие, но вы можете настроить свою собственную кнопку, расширяя Button класс, чтобы сделать ваше собственное определение отключения

+4

Несмотря на то, что это принятый ответ, это не особенно полезно. :-( –

3

Вместо того, чтобы отключить его, держать его включен, но использовать флаг, чтобы контролировать свои «внутреннее состояние»

+0

Не могли бы вы (или кто-то) расширить это, пожалуйста? – marienke

0

Я решил эту проблему, используя флаг, чтобы сохранить состояние моей кнопки.

private boolean isMyButtonEnabled = false; 

public void onMyButtonClick(View v) { 
    if(isMyButtonEnabled){ 
     .. 
    } 
} 
0

Я искал его, но не получил ничего, чтобы прослушать блок EditText. Поэтому я нахожу еще один способ активировать его. Если поблизости есть кнопка или область, которую вы уже прослушиваете, вы можете включить SetOnLongClickListener для активации блока. Это будет секрет, но вы можете сказать пользователям.

button.setOnLongClickListener(new OnLongClickListener() { 
     @Override 
     public boolean onLongClick(View v) { 
      // TODO Auto-generated method stub 
      editText.setEnabled(true) 
      return true; 
     } 
    }); 

enter image description here

0

Я собираюсь решить это с помощью selected состояния, которое обычно доступно для использования в виджетах, и может быть использовано в Государственном реестре вводимого коэффициента. Простой поиск использования isSelected приводит к результатам в ListView, GridView, TextView и TabLayout. И в документации указано

Виды, как правило, * выбираются в контексте адаптера, такого как ListView или GridView; * выбранный вид - это выделенное представление.

Смежные вопросы