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

对话框解除后隐藏软键盘

轩辕海
2023-03-14

我想在AlertDialog关闭后隐藏软键盘,但它仍然可见。这是我的代码:

alert = new AlertDialog.Builder(MyActivity.this);
imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

alert.setOnDismissListener(new DialogInterface.OnDismissListener() {

    @Override
    public void onDismiss(DialogInterface dialog) {
        imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
    }
});

共有3个答案

袁华清
2023-03-14

我在关闭警报对话框时遇到了类似的问题。这似乎对我有好处。

在你的对话片段里

public static void closeKB(final View view) 
{
    caller.postDelayed(new Runnable() {
        @Override
        public void run() {
            InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
        }
    }, 1);
}

@Override
public void onDismiss(DialogInterface dialog)
{
    super.onDismiss(dialog);
            View view = getActivity().getCurrentFocus();
    if (view != null)
    {
        closeKB(view);
    }
}
颛孙天宇
2023-03-14

我也遇到了同样的问题。通过这样做来解决它。它不需要任何参考:

imm.hideSoftInputFromWindow(getWindow().getDecorView()
                .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
麻宜春
2023-03-14

在清单xml中

android:windowSoftInputMode="stateAlwaysHidden"

关闭对话框

 类似资料:
  • 这是我的自定义警报对话框代码- 问题是,底部的编辑文本字段隐藏在软键盘后面。我尝试在特定活动中将android清单更新为android:WindowsoftinPutmode=“adjustresize”,但没有成功。有什么解决办法吗?

  • 我读过很多关于如何在几秒钟后以多种方式隐藏对话框的答案。然而,我不能得到这个工作与我的例子。 我正在使用一个opencart插件,当你在购物车中添加一个产品后会显示一个DIV,但它会一直保持在那里,只有当用户点击“继续购物”时才会关闭。我希望这个DIV在5秒后自动关闭。 我已经尝试setTimeout,延迟等,没有工作......所以我不确定我做错了什么: 代码是这样的: 有人能帮我吗? 编辑:

  • 我有一个AutoCompleteTextView,它像往常一样在用户键入3个字母后提供建议。一旦我触摸建议列表,我想隐藏软键盘一次。我在下面用表格布局所做的只是在单击除建议列表之外的任何地方时隐藏键盘。 可扩展置标语言 爪哇岛 用于自定义列表的 XML

  • 我有一个自定义的Spinner类,它使用一个警报对话框来显示它的内容,它有“提交”和“取消”按钮。警报对话框有一个编辑文本,其他都是只读标签。在单击编辑文本时,虚拟键盘出现,它移动布局,向上移动位,但按钮保持隐藏。我希望按钮也是可见的。 在活动类中:-this.getWindow().setSoftinPutMode(Windowmanager.layoutParams.soft_input_ad

  • 我需要隐藏软键盘以响应单击按钮。我看到了一些关于这方面的帖子,我尝试了: 这很有效。但现在我有两个EditText视图。无论选择了哪个EditText,现在如何隐藏软键盘?我也试过了 ,但那不起作用... 谢谢你的帮助! 编辑:找到解决方案。贴在下面。

  • 用户按下隐藏键盘按钮或后退按钮。因此,当用户隐藏键盘时,我需要清除对搜索视图的关注。 我试过这个,但它不工作。当用户隐藏键盘时,焦点仍然存在。 这是: