Android 如何隐藏软键盘而不丢失对searchview的关注

Android 如何隐藏软键盘而不丢失对searchview的关注,android,Android,打开片段时展开searchview,请求关注searchview,但隐藏软键盘 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.barcode,menu); MenuItem scan = menu.findItem(R.id.sca

打开片段时展开searchview,请求关注searchview,但隐藏软键盘

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.barcode,menu);
    MenuItem scan = menu.findItem(R.id.scanbarcode);
}

@Override
public void onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);

       MenuItem scan = menu.findItem(R.id.scanbarcode);
       mBarcode = (android.support.v7.widget.SearchView) scan.getActionView();
       mBarcode.setQueryHint(getString(R.string.scanb));
       scan.expandActionView();
       mBarcode.setOnQueryTextListener(this);
}

将其写入清单文件中的活动中

android:windowSoftInputMode="stateHidden|adjustResize"
在你的片段中,写下这个

searchTditText.requestFocus();

调用此方法以隐藏软键盘

publicstaticvoid隐藏键盘(上下文,视图){
如果(视图!=null){
InputMethodManager imm=(InputMethodManager)context.getSystemService(context.INPUT\u方法\u服务);
imm.hideSoftInputFromWindow(view.getWindowToken(),0);
}
}

检查此代码:

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

尝试此getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT\u输入\u状态\u始终\u隐藏);把这个放在哪里?在你的活动中