gpt4 book ai didi

c# - 对导航 header 执行操作 - Xamarin

转载 作者:行者123 更新时间:2023-11-29 19:13:32 24 4
gpt4 key购买 nike

我正在对导航标题执行操作,其中有一个名为“登录用户”的文本。 “登录用户”文本位于名为 navheader 的布局文件中。

在我的主页(主要 Activity )上,是我要执行 Activity 的地方。当我拉出抽屉导航并单击“登录用户”时,出现异常抛出 Object reference not set to an instance of an object.

nav_header.axml

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="LOG IN"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="#FFFFFF"
android:textSize="16dp"
android:id="@+id/login"/>

主 Activity.cs

loginUser = FindViewById<TextView>(Resource.Id.login);

loginUser.Click += login_User;

private void login_User(object sender, EventArgs e)
{
Intent intent = new Intent(this, typeof(loginPage));
this.StartActivity(intent);


}

最佳答案

如果您使用的是 android.support.design.widget.NavigationView,则无法从 MainActivity 直接访问标题 View 中的 View ,因为您的标题 View 是不是直接用于 MainActivity 的 xml 代码的一部分。你将不得不做这样的事情:

var navigationView = FindViewById<NavigationView>(Resource.Id.nav_view); //whatever your Id for navigationview is
var headerView = navigationView.GetHeaderView(0);
var loginUser = headerView.FindViewById<TextView>(Resource.Id.login);

loginUser.Click += login_User;

private void login_User(object sender, EventArgs e)
{
Intent intent = new Intent(this, typeof(loginPage));
this.StartActivity(intent);
}

关于c# - 对导航 header 执行操作 - Xamarin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44379760/

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