2015-06-28 2 views
0

Я хочу, чтобы иметь возможность обнаруживать, когда edittext не нажата, поэтому я могу заменить его текстовым просмотром. Я попробовалКак я могу определить, теряет ли Edittext фокус?

et.setOnFocusChangeListener(new OnFocusChangeListener() { 

      @Override 
      public void onFocusChange(View v, boolean hasFocus) { 
       if(!v.hasFocus()){ 
        Toast.makeText(getApplicationContext(), "LOST FOCUS", Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }); 

но сообщение Toast не получило бы вызова.

+0

Duplicate: http://stackoverflow.com/questions/10627137/how-can-i-know-when-a-edittext-lost-focus – Sharj

+0

У вас есть v.hasFocus(); Попробуйте просто! HasFocus. – Sharj

ответ

0

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

if(!hasFocus){ 

Когда вы получите обратный вызов, это может быть, что вид по-прежнему имеет фокус, так v.hasFocus() может вернуться верно.

+0

Я пробовал это, но он все равно не будет называть сообщение Toast, когда я выхожу из edittext. – NathanWick

+0

В этом случае вы должны показать немного больше своего кода, потому что в противном случае это кажется прекрасным. – wvdz

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