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