我正在应用自定义解决方案来覆盖导航栏的后退点击。但是,工具栏对象总是null和崩溃的应用程序。
主活动类
protected override void OnCreate(Bundle savedInstanceState)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(savedInstanceState);
ZXing.Mobile.MobileBarcodeScanner.Initialize(Application);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App());
//always null
AndroidX.AppCompat.Widget.Toolbar toolbar
= this.FindViewById<AndroidX.AppCompat.Widget.Toolbar>(Resource.Id.toolbar);
//null exception
SetSupportActionBar(toolbar);
}
toolbar.xml
<androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00748a"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
有什么办法吗?
2条答案
按热度按时间s2j5cfk01#
在App.cs中,我将这行代码替换为
使用这一行,这样工具栏就被初始化了
knpiaxh12#
您可以尝试将布局名称
toolbar.xml
更改为Toolbar.xml
。此外,由于您使用了以下代码:
你还需要在android平台的
layout
文件夹中添加布局Tabbar.xml
,在我的代码中,我没有添加TabLayoutResource = Resource.Layout.Tabbar;