У меня есть действие без дочерних виджетов для него, и соответствующий файл xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:focusable="true"
>
</LinearLayout>
и я хочу программно открыть программную клавиатуру, пока действие начинается. и то, что я пробовал до сих пор,
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
Дай мне какое-нибудь руководство.
android
android-softkeyboard
Вигнеш
источник
источник
Ответы:
Я использовал следующие строки, чтобы вручную отобразить программную клавиатуру внутри события onclick, и клавиатура видна.
Но я все еще не могу открыть это, пока открывается действие, есть ли какое-нибудь решение для этого?
источник
В файле манифеста попробуйте добавить следующее к тому,
<activity>
что вы хотите отображать клавиатуру при запуске действия:android:windowSoftInputMode="stateVisible"
Это должно сделать клавиатуру видимой при запуске действия.
Дополнительные параметры см. В документации .
источник
Пожалуйста, следуйте приведенному ниже коду. Я уверен, что ваша проблема будет решена.
источник
Это работает
или
источник
Все, что мне нужно, - это открыть клавиатуру в очень точный момент. Это сработало для меня! Спасибо, Бенитес.
И в самый точный момент:
источник
postDelayed( runnable, 500 /* msec */ );
Я использовал следующие строки для отображения виртуальной клавиатуры вручную внутри события onclick.
источник
Поместите это в метод onResume:
runnable необходим, потому что, когда ОС запускает метод onResume, вы не можете быть уверены, что все представления рисуются, поэтому метод post, вызываемый из вашего корневого макета, заставляет его ждать, пока все представления будут готовы.
источник
похоже, что это работает
кажется, это работает лучше: в манифесте:
кажется, что манифест работает в Android 4.2.2, но не работает в Android 4.0.3
источник
в OnCreate метод активности или onActivityCreated фрагмента
источник
Я использовал это, чтобы программно отображать программную клавиатуру, и это сработало для меня, чтобы предотвратить автоматическое изменение размера экрана при запуске клавиатуры.
В манифесте:
В XXXActvity:
Я предполагаю, что это сэкономит время другим на поиски этой проблемы.
источник
Котлин
Ява
источник
источник
Я использовал его как синглтон, например:
Используйте его в своей деятельности, например:
источник
Это работает:
И вы вызываете этот метод так:
источник
InputMethodManager.SHOW_FORCED - не лучший выбор. Если вы используете этот параметр, вы должны управлять скрытием состояния клавиатуры. Мое предложение таково;
Кроме того, вы можете сосредоточиться на представлении (обычно EditText), принимая его параметры. Это делает его более полезной функцией.
для получения дополнительной информации о InputMethodManager.SHOW_IMPLICIT и SHOW_FORCED; InputMethodManager
источник
Это необходимый исходный код:
Для получения подробной информации перейдите по этой ссылке. Это мне помогло. https://github.com/Nikhillosalka/Keyboard/blob/master/README.md
источник
Используйте приведенный выше код в onResume (), чтобы открыть мягкую клавиатуру
источник
Подобно ответу @ShimonDoodkin, это то, что я сделал во фрагменте.
https://stackoverflow.com/a/29229865/2413303
Где
ShowKeyboard
находитсяПосле успешного ввода я также убеждаюсь, что скрываю клавиатуру
источник
источник
Уже есть слишком много ответов, но у меня ничего не работало, кроме этого
Я использовал
showSoftInput
сSHOW_FORCED
И моя деятельность
надеюсь, это поможет кому-то
источник
Опубликуйте этот метод в своем базовом действии и используйте его в других занятиях, например, в чарте.
источник