Android: как оставить экранную клавиатуру видимой после нажатия кнопки - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть экран с текстом редактирования и одной кнопкой. Edittext имеет свойства

    android:focusable="true"
    android:focusedByDefault="true"
    android:focusableInTouchMode="true"

Кнопка имеет те же свойства, что и значения false .

При нажатии на кнопку происходит изменение гравитационного текста. Текст редактирования не теряет фокус при нажатии кнопки. Но клавиатура прячется.

Как заставить клавиатуру не прятаться и оставаться видимой в этом случае?

Ответы [ 3 ]

0 голосов
/ 02 ноября 2018

Вы также можете сделать это с помощью тега:

 button.setTag(R.id.DONT_HIDE_KEYBOARD, "true");

и в файле values ​​/ ids.xml добавить:

  <item name="DONT_HIDE_KEYBOARD" type="id"/>
0 голосов
/ 02 ноября 2018

попробуйте следующий.код, здесь фокус вашего EditText.

fun closeInput(focus: View?) {
            val inputMethodManager = mActivity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
            inputMethodManager.hideSoftInputFromWindow(focus?.windowToken, InputMethodManager.HIDE_NOT_ALWAYS)
}
0 голосов
/ 02 ноября 2018

Вы можете сделать это программно . Вызывайте это, когда нажимаете Button.

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

или

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
...