无法从打开软输入键盘禁用Action Bar Sherlock的搜索视图

时间:2013-10-20 17:43:55

标签: android android-actionbar actionbarsherlock searchview

我在我的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"
            >
    
  3. 然而键盘仍然弹出。

    我的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);
    

2 个答案:

答案 0 :(得分:1)

我只是使用了searchView.clearFocus()而停止了弹出键盘。

答案 1 :(得分:0)

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

将XML中的输入类型设置为“none”,或者将 view.setInputType(InputType.TYPE_NULL)设置为