У меня есть HomeActivity, и я запускаю SearchActivity, который содержит SearchView на панели инструментов.
Я установил SearchView для первоначального расширения, используя это: search.ExpandActionView (); .
Это код SearchActivity в C#, но не проблема, если вы можете помочь в java / kotlin ...
public class SearchActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_search);
var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
SetSupportActionBar(toolbar);
this.SupportActionBar.SetDisplayHomeAsUpEnabled(false);
this.SupportActionBar.SetHomeButtonEnabled(false);
}
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.menu_search_places, menu);
IMenuItem search = menu.FindItem(Resource.Id.action_search_places);
search.ExpandActionView();
// var searchView = (Android.Support.V7.Widget.SearchView)search.ActionView;
return true;
}
}
Это menu_search_places. xml
<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">
<item
android:id="@+id/action_search_places"
android:icon="@android:drawable/ic_menu_search"
app:showAsAction="always|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView"
android:title="Search for a place"/>
</menu>
Кажется, что верхняя левая стрелка связана с SearchView - она сворачивает SearchView.
Также onOptionsItemSelected не срабатывает
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
//
default:
return super.onOptionsItemSelected(item);
}
Можем ли мы изменить это поэтому когда я нажимаю стрелку, чтобы закрыть SearchActivity вместо сворачивания SearchView ?