我有一个包含编辑文本的片段.当按下编辑文本时,显示键盘.当按下上角的Save按钮时,应用程序返回到上一个片段,但键盘仍然存在.

我希望在导航到上一个片段时隐藏键盘.

请注意,我try 过此解决方案: Close/hide the Android Soft Keyboard美元.

InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myView.getWindowToken(), 0);

我试图在这两个片段中,在onCreate方法中使用它.

我还试图在布局中隐藏软键盘:

android:windowSoftInputMode="stateAlwaysHidden"

不幸的是,这些都没有奏效.

我本来会发一些照片的,但我还没有足够的声誉.

Regards, Alexandra

推荐答案

将隐藏键盘的代码放在"保存按钮"的"单击侦听器"中,然后使用此方法隐藏键盘:

    public static void hideKeyboard(Activity activity) {
        InputMethodManager inputManager = (InputMethodManager) activity
        .getSystemService(Context.INPUT_METHOD_SERVICE);

        // check if no view has focus:
         View currentFocusedView = activity.getCurrentFocus();
         if (currentFocusedView != null) {
             inputManager.hideSoftInputFromWindow(currentFocusedView.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
         }
     }

Kotlin相关问答推荐

如何在Kotlin中模拟www.example.com()?

Kotlin和JavaFX:绑定行为奇怪

Android Jetpack编写androidx.compose.oundation.lazy.grid.Items

Kotlin多平台(KMP)保存到文件不能在iOS上保存

Android Studio中的只读集合不支持操作失败的原因是什么?

S使用MAP和ElseThrow的习惯用法是什么?

用于将 0.5 变为 0 的 round() 函数的模拟

Kotlin:使用另一个列表和字母顺序对列表进行排序的有效方法

第二个协程永远不会执行

在 Kotlin 中,我可以在集合上有一个条件构建器元素吗?

如何从kotlin中的ArrayList中删除所有元素

@InlineOnly 注释是什么意思?

使用 Hilt 注入 CoroutineWorker

调用单元测试验证伴随对象方法

如何在MVVM架构中观察RecyclerView适配器中的LiveData?

TornadoFX 中设置 PrimaryStage 或 Scene 属性的方法

Android Studio - java.io.IOException:无法生成 v1 签名

如何在不绑定ViewModel(MVVM)中的UI的情况下使用android导航?

Kotlin 对象 vs 伴生对象(companion-object) vs 包作用域(package scoped)方法

Android room DAO 接口不适用于继承