2015-04-09 3 views
-1

Я хочу открыть мягкую клавиатуру в андроиде автоматически после открытия операции. Я использовал приведенный здесь код Close/hide the Android Soft Keyboard , но он не работает. Это мой код., показывая softkeyboard в android

final EditText txtName = (EditText) findViewById(R.id.etxt_hidenprac); 
txtName.setOnFocusChangeListener(new OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     txtName.post(new Runnable() { 
      @Override 
      public void run() { 
       InputMethodManager imm = (InputMethodManager) Practice.this.getSystemService(Context.INPUT_METHOD_SERVICE); 
       imm.showSoftInput(txtName, InputMethodManager.SHOW_IMPLICIT); 
      } 
     }); 
    } 
}); 
txtName.requestFocus(); 




<activity 
    android:name="com.example.moisun01.Practice" 
    android:label="@string/app_name" 
    android:screenOrientation="landscape" 
    android:windowSoftInputMode="stateVisible"> 
</activity> 

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

+0

добавить в манифест для этой деятельности: андроид: windowSoftInputMode = "stateVisible | adjustPan" –

+0

, к сожалению, это не работает еще – sun1987

+0

возможный дубликат [Android: показать экранная клавиатура автоматически когда фокус находится на EditText] (http://stackoverflow.com/questions/2403632/android-show-soft-keyboard-automatically-when-focus-is-on-an-edittext) – dumazy

ответ

0

ответ уже дан в поле для комментариев ... он работал для меня .. Вам не нужно делать слишком много ... просто Добавить

android:windowSoftInputMode="stateVisible" 

в вашей деятельности тег в файле манифеста В этом способ экранная клавиатура в Android автоматически открывается, как начать деятельность

..если это не происходит с вами .. then..try дать фокус на первый EditText Усин requestFocus() метод

+0

Я тоже устал от этого. id не работает – sun1987

0

В Activiy onCreate() вы можете написать вот так. InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.showSoftInput (mEditText, 0);

или в файле манифеста вы можете использовать android: windowSoftInputMode = "stateVisible" в действии.

+0

Я устал и то, и другое, ни один из них не работает – sun1987

+0

вы можете отправить код, что вы пробовали –

+0

InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); \t imm.toggleSoftInput (InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); \t imm.showSoftInput (etxt_practice, InputMethodManager.SHOW_FORCED); – sun1987

0

(InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.showSoftInput (mEditText, 0);

или в файле манифеста вы можете использовать android: windowSoftInputMode = "stateVisible" под действием.

0

Может т чень это:

OnCreate метод

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); 
+0

это сверху не работает тоже. – sun1987

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