【问题标题】:Why does softkeyboard continue to display in View?为什么软键盘继续显示在视图中?
【发布时间】:2015-12-10 00:11:31
【问题描述】:

我正在尝试删除在 Activity 加载视图时启动软键盘的代码。我在 Manifest 文件中删除了 'android:windowSoftInputMode="stateVisible|adjustResize"'。然后,我在 Activity 中搜索了对 InputMethodManager 使用的任何引用。我可以看到布局文件中没有任何内容会触发软键盘的加载。然后我清理了项目并对其进行了重建。创建 View 时,软键盘仍会加载。我肯定错过了什么。关于为什么软键盘会继续加载的任何想法?

【问题讨论】:

    标签: android view android-input-method window-soft-input-mode


    【解决方案1】:

    你应该先尝试设置android:windowSoftInputMode="stateHidden|adjustResize"

    如果它不起作用,您可能需要在代码中的某些位置添加以下内容

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

    【讨论】:

    • 我不明白。为什么默认是键盘加载,然后我必须插入代码来隐藏它或关闭它。我认为默认是没有软键盘,然后您必须使用 stateVisible 或 showSoftInput 启用它。
    • 当 EditText 获得焦点时,默认会显示一个键盘。如果您设置了<requestFocus/>,它会在加载布局时为您请求焦点
    • 因为您的默认焦点在某些可编辑字段上?尝试在不可编辑字段上使用requestFocuse(),例如TextView
    • 所有 EditText 字段都接受用户输入。我想先在没有键盘的情况下显示视图,然后当用户单击或触摸第一个 EditText 时,代码应该启动键盘。
    • 我知道,所以你应该试试我提出的建议。或者你根本不应该requestFocus
    猜你喜欢
    • 2016-01-08
    • 2020-04-08
    • 1970-01-01
    • 2013-11-24
    • 2011-12-27
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 2012-09-24
    相关资源
    最近更新 更多