1

我在我的 UI 中使用 Action Bar Sherlock SearchView。我一直在尝试禁用软输入键盘的打开,但它不起作用。到目前为止,我已经尝试过这些方法。

  1. 我使用输入管理器禁用软输入键盘的显示。

    View target = this.getView().findFocus();
    if(target!=null)
    {
        InputMethodManager imm = (InputMethodManager)getSherlockActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(target.getWindowToken(), 0);
    }
    
  2. android:windowSoftInputMode="stateHidden"像这样在清单的活动标签中设置。

    <activity
            android:name=".ui.MainActivity"
            android:windowSoftInputMode="stateHidden"
            android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/app_name"
            >
    

尽管如此,键盘仍然弹出。

我的 SearchView 实现

 <com.actionbarsherlock.widget.SearchView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:iconifiedByDefault="false"
    android:layout_below="@+id/customView"
    android:id="@+id/searchView" android:layout_gravity="left|center_vertical"/>

    /* Code used to hide focus */
    searchView =(SearchView)view.findViewById(R.id.searchView);
    searchView.setFocusable(false);
4

2 回答 2

1

我只是简单地使用searchView.clearFocus()并阻止键盘弹出。

于 2013-10-21T21:02:37.833 回答
0

要禁用任何视图(例如 SearchView):

要么在 XML中将其输入类型设置为“无” ,要么在 Activity中设置 view.setInputType(InputType.TYPE_NULL)

于 2014-01-15T07:58:51.053 回答