2014-01-28 5 views
0

Я искал в Google и StackOverflow, но я не нашел действительно то, что мне нужно. Я хочу отключить кнопку runtime в событии клика, но это не сработает. У меня есть 2 кнопки, имена которых ButtonA и ButtonBКак отключить время выполнения кнопки в событии click?

Мой код:

ButtonA.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View arg0) {    
     ButtonA.setEnabled(false); 
     ButtonA.invalidate(); 
     ButtonB.setEnabled(true); 
     ButtonB.invalidate(); 
    } 
}); 

ButtonB.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View arg0) {    
     ButtonB.setEnabled(false); 
     ButtonB.invalidate(); 
     ButtonA.setEnabled(true); 
     ButtonA.invalidate(); 
    } 
}); 

Я использую OnClick слушателя событий в моем списке адаптер класса Если я обновить экран это работает, но я хочу сделать это во время выполнения. Когда я нажимаю кнопку, я хочу видеть, что она будет отключена.

Как это исправить?

+0

'it does not work' - что это значит? Кнопки не отключены? onClick() не срабатывает? Код не компилируется? Также вы настраиваете кнопки в onCreate()? Пожалуйста, напишите полный код, где вы их настраиваете. – Melquiades

+0

Я имею в виду, что кнопка не отображается отключена – user3086226

+0

Пожалуйста, обновите свое сообщение запрошенной информацией. – Melquiades

ответ

0

Для этого вы можете использовать метод clickable().

ButtonA.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View arg0) {    
     ButtonA.setClickable(false); 
     ButtonA.invalidate(); 
     ButtonB.setClickable(true); 
     ButtonB.invalidate(); 
    } 
}); 


ButtonB.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View arg0) {    
     ButtonB.setClickable(false); 
     ButtonB.invalidate(); 
     ButtonA.setClickable(true); 
     ButtonA.invalidate(); 
    } 
}); 
+0

спасибо за ответ, он тоже не работает – user3086226

0

Или вы можете попробовать это:

Button b=(Button) findViewById(R.id.btnB); 
b.setEnabled(true); 
+0

как я могу поместить его в событие onclick? – user3086226

0

Дело в том: она должна быть определена окончательная, как это;

final Button ButtonA,ButtonB; 
Смежные вопросы