2015-12-03 2 views
0

У меня есть Редактирование текста, и после того, как пользователь нажмет на кнопку или на ввод мягкой клавиатуры, я сделаю какое-то действие в фоновом режиме и снова заново запустил это действие. В первый раз основное внимание уделяется EditText, но после перенаправления фокус теряется.EditText Loses Focus Second Time

Ещё одна вещь, я использую устройство Bluetooth для ввода текста в области EditText.

В начальной активности, я получаю кнопку EditText и вызов

edittext.setFocusableInTouchMode(true); 
edittext.requestFocus(); 

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

В манифесте я использую:

android:windowSoftInputMode="stateAlwaysVisible" 

Я также попытался показать клавиатуры всегда:

InputMethodManager mgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); 
mgr.showSoftInput(mLastNameET, InputMethodManager.SHOW_IMPLICIT); 

Я пробовал много вещей, пожалуйста, предложите, как я могу заставить его работать?

+0

переопределить onresume() и поставить этот код фокуса в этот метод также. –

+0

onResume деятельности? можете ли вы предоставить фрагмент кода? – somaniA

ответ

1

Есть два способа сделать это,

Во-первых, это объявить EditText.request фокус() в на резюме(), или второй из них объявить <request focus /> тег между <EditText> <request focus/> <\EditText> Вы также можете использовать этот вещь:

editText.setOnFocusChangeListener(new OnFocusChangeListener() { 
      @Override 
      public void onFocusChange(View v, boolean hasFocus) { 
       editText.post(new Runnable() { 
        @Override 
        public void run() { 
         InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); 
         imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); 
        } 
       }); 
      } 
     }); 
     editText.requestFocus(); 
+0

overriding onResume не работает. В чем может быть причина – somaniA

+0

Обновить ответ, можно попробовать. – androgo

+0

настройка фокусировкиChangeListener работал. – somaniA

0

У меня была аналогичная проблема, и она исправлена ​​с добавлением android: windowSoftInputMode = "adjustPan" в манифесте, как показано ниже. Надеюсь, это сработает и для вас.

<activity 
     android:name=".MyActivity" 
     android:windowSoftInputMode="adjustPan"> 
    </activity> 
+0

спасибо, позвольте мне попробовать, что – somaniA

+0

добро пожаловать, это работает? –

+0

это не сработало – somaniA

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