【问题标题】:How to hide keyboard after edittext click单击edittext后如何隐藏键盘
【发布时间】:2019-12-26 22:48:30
【问题描述】:

我的 android 应用程序中有一个编辑文本,我可以在其中放置一个人的生日。当我单击它时,会出现一个对话框片段,但我必须单击两次。第一次点击后有一个键盘,我不想要它。

我知道我可以使用按钮代替,但我更喜欢editext,因为它看起来更好:) 我怎样才能改变它?我可以在第一次点击edittext时打开图表吗?提前致谢!

【问题讨论】:

  • 上下文?片段建议使用 android,但仍然非常雄心勃勃。可能有助于提及您的工作...
  • 哦,对不起。这是一个安卓应用程序。

标签: android dialog keyboard fragment


【解决方案1】:

您可以通过在 XML 声明中添加 android:focusable="false" 来使您的 EditText 无法聚焦,然后在 EditText 上使用简单的 onClickListener。

否则,您也可以使用以下方法隐藏键盘:

public void hideSoftKeyBoard(Activity activity) {
    // Check if no view has focus:
    View view = activity.getCurrentFocus();
    if (view != null) {
        InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }
}

可以按如下方式调用: hideSoftKeyBoard(this) 来自活动或 hideSoftKeyBoard(getActivity()) 来自片段。

希望这会有所帮助!

【讨论】:

  • 它以某种方式工作,但并不完美。当我第一次单击editext时,出现键盘,但在第二次单击时键盘被隐藏。我可以在第一次点击时以某种方式打开我的对话框吗?
  • 如果你真的想使用Edittext,你能不能在EditText上使用一个简单的onclicklistener?
  • 通过在 xml 中添加 android:focusable="false" 使您的 EditText 无法聚焦。
猜你喜欢
  • 1970-01-01
  • 2018-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-07
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
相关资源
最近更新 更多