OnCreateOptionsMenu не вызывается на Android 7.0
Как и в названии, методOnCreateOptionsMenu не вызывается после обновления моей системы до Android 7.0.
Перед обновлением я использовал Android 6.0 , и он работал без каких-либо проблем. Если я протестирую его на другом телефоне с 6.0, он все еще работает (тот же код).
Есть ли какие-либо проблемы с этим методом на Android 7.0 или что-то не так в моем коде?
Часть моей основной активности.cs, где я установил панель инструментов
[Activity(Label = "App", Icon = "@drawable/icon", MainLauncher = true, Theme = "@style/Theme.AppCompat.Light.NoActionBar",ScreenOrientation = Android.Content.PM.ScreenOrientation.Portrait)]
public class MainActivity : AppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
var toolbar = FindViewById<Android.Widget.Toolbar>(Resource.Id.toolbar);
toolbar.SetTitleTextColor(Color.White);
SetActionBar(toolbar);
}
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.top_menu_start, menu);
return base.OnCreateOptionsMenu(menu);
}
}
Главное.axml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#1D1D1D"
android:theme="@android:style/ThemeOverlay.Material.Dark.ActionBar" />
</RelativeLayout>
Top_menu_start
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/start_listview"
android:icon="@drawable/icon_posts_list"
android:showAsAction="ifRoom"
android:title="startListview" />
<item
android:id="@+id/start_pager"
android:icon="@drawable/icon_posts_kacheln"
android:showAsAction="ifRoom"
android:title="startPager" />
<item
android:id="@+id/doSomething"
android:icon="@drawable/icon"
android:showAsAction="ifRoom"
android:title="doSomething" />
</menu>
1 ответ:
Поскольку вы используете
AppCompatActivity
, вы должны использоватьAndroid.Support.V7.Widget.Toolbar
вместоAndroid.Widget.Toobar
и вызыватьSetSupportActionBar
вместоSetActionBar
. Теперь вашOnCreateOptionsMenu
будет вызван.Переопределение OnCreate:
base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Main); var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); toolbar.SetTitleTextColor(Color.White); SetSupportActionBar(toolbar);
Главная.обновление axml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#1D1D1D" android:theme="@android:style/ThemeOverlay.Material.Dark.ActionBar"> </android.support.v7.widget.Toolbar>