返回上一个活动时,通过不关注搜索视图而无需焦点并弹出键盘来打开新活动



我花了很多天,但无法克服一个挑战,在按下主要活动中搜索视图图标后,我想打开搜索活动向后按以返回主要活动。主要活动和搜索活动都包含工具栏和搜索菜单。详细说明,它们的代码如下:

主要活动的菜单

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_search"
    android:icon="@drawable/ic_search"
    android:title="Search"
    android:iconifiedByDefault="false"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="ifRoom|collapseActionView"/>
    <!--app:showAsAction="ifRoom|collapseActionView"-->
<item android:id="@+id/action_settings"
    android:title="Thu nghiem"/>

搜索活动的菜单

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item android:id="@+id/search_action_search"
    android:icon="@drawable/ic_search"
    android:title="Search"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="ifRoom|collapseActionView"/>
<item android:id="@+id/search_action_settings"
    android:title="Detail"/>

在主要活动中,我尝试了

@Override
public boolean onCreateOptionsMenu(Menu menu){
    getMenuInflater().inflate(R.menu.example_menu, menu);
    SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
    searchView.setIconified(true);
    searchView.setFocusable(false);
    searchView.setFocusableInTouchMode(false);
    searchView.clearFocus();
    return true;
}

另外,我尝试了一些不同的方法,但无法成功实现。

使用此行来防止键盘出现在您的活动中。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

相关内容

  • 没有找到相关文章

最新更新