当前位置: 首页 > 知识库问答 >
问题:

暂停或停止片段后不显示键盘

翟俊哲
2023-03-14

Android不会在焦点编辑文本中显示键盘,即使当点击它时,在暂停或停止片断后也是如此。例如我专注于编辑文本键盘显示,一切都好,然后我点击home按钮(或者只是离开片段)恢复相同的片段后,焦点仍然在编辑文本,但不能再次显示键盘。来自日志:

w/InputMethodManager:当前服务视图不是焦点视图

我只有一个活动,在清单中包含以下信息:

活动Android:name=“.Presentation.Main.MainActivity”Android:WindowsoftInputMode=“AdjustPan”Android:ScreenOrientation=“Protrait”>

在某些情况下,我们需要手动关闭键盘,并使用以下广播:

  val view = this@MainActivity.currentFocus
            if (view != null) {
                val imm =
                    this@MainActivity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
                imm.hideSoftInputFromWindow(view.windowToken, 0)
            }

共有1个答案

竺翰海
2023-03-14

若要在EditText上强制打开键盘,请使用下面的代码

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);

如果它仍然不起作用

editText.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
 类似资料:
  • 那么DialogFragments有什么特别之处呢?为什么在显示对话框时没有暂停调用片段?又如何实现呢? 我在文档中没有发现任何关于这种行为的引用,所以引用是一个加号。

  • 1.若要暂停训练,请按下该按钮。显示暂停。若要继续训练,请点击绿色箭头图标。 2.若要停止训练,在记录训练期间或处于暂停模式时长按该按钮三秒钟,直至计数器清零。或者您可以点击并按住显示屏上的红色停止按钮。 如果在暂停后停止训练,则暂停后经过的时间不包括在总训练时间内。

  • 若要暂停训练 长按正面按钮 或 在训练视图中向右滑动,找出并轻触暂停图标。 通过向左滑动您可以在暂停模式中看到训练总结。 恢复暂停的训练 轻触绿色箭头图标。 停止训练 在训练期间或在暂停模式中,长按正面按钮直至绿色计时器一直倒数。 或 在暂停模式中,轻触并按住红色停止图标可结束记录。

  • 1.若要暂停训练,请按“返回”按钮。显示“记录已暂停”。若要继续训练,请按“开始”。 2.若要停止训练,在训练记录或处于暂停模式时长按“返回”按钮三秒钟,直到显示“记录已结束”。 如果在暂停后停止训练,则暂停后经过的时间不包括在总训练时间内。

  • 按下“返回”,暂停您的训练课。 要继续训练,请按“确定”。要停止训练课,长按 BACK(返回)。停止训练后,会立即从手表上获得训练总结。 如果在暂停后停止训练课,则暂停后经过的时间不包括在总训练时间内。

  • 按下“返回”,暂停您的训练课。 要继续训练,请按“确定”。要停止训练课,长按 BACK(返回)。停止训练后,会立即从手表上获得训练总结。 如果在暂停后停止训练课,则暂停后经过的时间不包括在总训练时间内。