2016-10-12 10 views
0

Я хочу очистить фокус edittext, когда пользователь нажимает кнопку «Назад».Как остановить edittext, чтобы изменить фокус на щелчок обратной кнопки в фрагменте?

Это мой onResume метод: -

public void onResume() { 
     super.onResume(); 

     getView().setOnKeyListener(new View.OnKeyListener() { 
      @Override 
      public boolean onKey(View view, int i, KeyEvent keyEvent) { 
       if (i == keyEvent.KEYCODE_BACK) { 
        mEdtDob.clearFocus(); 
        return true; 
       } 
       return false; 

      } 
     }); 

    } 

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

ответ

0

Код верный. Check is Вид на родительский элемент EditText clickable? Если это не так, после удаления фокуса EditText может снова получить фокус.

Добавьте эту строку в родительском зрения EditText в XML:

android:focusable="true" 
android:focusableInTouchMode="true" 
+0

чувак! Я использую фрагмент, не являющийся активностью – LoveAndroid

0
@Override public void onBackPressed() { 
int count = getFragmentManager().getBackStackEntryCount(); 
if (count == 0) { 
super.onBackPressed(); 
mEdtDob.clearFocus(); 
//additional code 
} else  {  getFragmentManager().popBackStack(); 
} } 

проверить эту ссылку:

How to implement onBackPressed() in Fragments?

0

просто добавить эти две строки внутри OnKey Method.Code :

mEdtDob.setFocusable(true); 
mEdtDob.setFocusableInTouchMode(true); 

если это nt рабочий, дайте мне знать в комментариях ....