gpt4 book ai didi

android - FindViewById(Resource.Id.toolbar) 在 MainActivity 的 OnCreate 中返回 null

转载 作者:行者123 更新时间:2023-11-29 23:57:21 28 4
gpt4 key购买 nike

您好,我是 Xamarin 的新手,我试图在 MainActivity 的 OnCreate() 中找到一个 View ,但找不到它(?)并且返回为 null。

protected override void OnCreate(Bundle bundle)
{

TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;

base.OnCreate(bundle);
Xamarin.Forms.Forms.Init(this, bundle);

LoadApplication(new App(new AndroidInitializer()));



Android.Support.V7.Widget.Toolbar toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
}

工具栏:

<android.support.v7.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="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

我已经下载了其他具有相同代码但运行良好的项目。我错过了什么? ( https://github.com/UdaraAlwis/Xamarin-Playground/tree/master/XFNavBarBackBtnClickOverride )

最佳答案

您忘记了 this.SetContentView(Resource.Layout.Main); 在您的 OnCreate() 中检查它

protected override void OnCreate(Bundle bundle)
{

TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;

base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);// add here your layout file
Xamarin.Forms.Forms.Init(this, bundle);

LoadApplication(new App(new AndroidInitializer()));



Android.Support.V7.Widget.Toolbar toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
}

关于android - FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar) 在 MainActivity 的 OnCreate 中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50230592/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com