【发布时间】:2021-03-09 15:58:50
【问题描述】:
我试图在我打开我的应用并使其获得焦点后立即显示一个搜索视图,并防止返回箭头<-,因为按下返回会导致:
- 首先关闭键盘
- 然后搜索视图折叠,清除查询以及显示的结果导致一个空片段 --- 我宁愿跳过这个并直接进入 3,退出活动强>
- 那么退出活动需要第三次返回
我只想要最多 2 次后退操作来退出活动。所以我在搜索片段中做了以下操作:
public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater) {
inflater.Inflate(Resource.Menu.search, menu);
var searchMenu = menu.FindItem(Resource.Id.action_search);
searchMenu.ExpandActionView();
_searchView = searchMenu.ActionView.JavaCast<SearchView>();
_searchView.SetIconifiedByDefault(false); // <-- I added this
_searchView.RequestFocus();
_searchView.QueryTextChange += async (s, e) => {
await PerformSearch(e.NewText);
};
var searchText = _searchView.FindViewById<TextView>(Resource.Id.search_src_text);
searchText.TextAlignment = TextAlignment.Center;
searchText.Hint = Resources.GetString(Resource.String.search_hint);
base.OnCreateOptionsMenu(menu, inflater);
}
菜单:
<?xml version="1.0" encoding="utf-8" ?>
<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:text="Search"
app:showAsAction="always" <-- I took out collapseActionView from here
app:actionViewClass="android.support.v7.widget.SearchView" />
</menu>
现在,一旦我的活动启动并切换到片段,我就会在左侧看到这个空白区域,我该如何摆脱它?
【问题讨论】:
标签: android android-fragments xamarin.android searchview fragment-backstack