Как сохранить мягкую клавиатуру от открытия активности в Android?
В приложении для Android, когда запускается действие, текстовое поле получает фокус, и мягкая клавиатура появляется автоматически. Я попытался остановить это, используя следующую строку в методе onCreate, но это не работает.
((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(EditText.getWindowToken(), 0);
Ответы
Ответ 1
Я знаю, что это старо, но, возможно, это поможет кому-то в будущем...
Я не видел, чтобы кто-нибудь предлагал "stateHidden"
Из Android-документов - android: windowSoftInputMode
Ваш файл манифеста будет выглядеть так:
<activity
...
android:windowSoftInputMode="stateHidden|adjustResize"
...
>
Ответ 2
Вы можете использовать следующую строку кода, чтобы убедиться, что клавиатура появляется только тогда, когда пользователь нажимает на EditText
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
и
Вам нужно добавить
android: windowSoftInputMode = "adjustResize"
для вашего тега активности в файле AndroidManifest.xml.
Ответ 3
Выполняется ли следующее?
// Find editor
EditText editWindowInstance = this.findViewById(R.id.MyEditWindow);
// close soft keyboard
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(editWindowInstance.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
Ответ 4
Вы можете поместить этот код в свой Activity.onCreate:
. This.getWindow() setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Но я обнаружил, что самым надежным и чистым способом было просто настроить фокус на другое представление в вашей деятельности. Макет XML
<Button
android:id="@+id/mybutton">
<requestFocus />
</Button>
Ответ 5
Следующий код работает для меня
((InputMethodManager) iClockActivity
.getSystemService(Context.INPUT_METHOD_SERVICE))
.showSoftInput(textView, 0);
Ответ 6
Это будет отлично работать, попробуйте это
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
И добавьте следующее в манифест.
android:windowSoftInputMode="stateHidden|adjustResize"
cheers пользуются кодированием....