Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FindViewByID在嵌套视图上返回null_C#_Android_Xamarin_Xamarin.android - Fatal编程技术网

C# FindViewByID在嵌套视图上返回null

C# FindViewByID在嵌套视图上返回null,c#,android,xamarin,xamarin.android,C#,Android,Xamarin,Xamarin.android,我有一个Xamarin.Android应用程序,它有一个导航绘图,结构如下: activity_main.xaml: nav_header_main.xaml: 我正在尝试获取文本视图@+id/Name但是FindViewById(Resource.id.RunnerName)始终返回null: protectedoverride void OnCreate(Bundle savedInstanceState) { SetContentView(Resource.Layout.activ

我有一个Xamarin.Android应用程序,它有一个导航绘图,结构如下:

activity_main.xaml:


nav_header_main.xaml:


我正在尝试获取文本视图
@+id/Name
但是
FindViewById(Resource.id.RunnerName)
始终返回
null

protectedoverride void OnCreate(Bundle savedInstanceState)
{
SetContentView(Resource.Layout.activity_main);
抽屉布局抽屉=FindViewById(Resource.Id.drawer\u布局);
//有抽屉的东西`
NavigationView NavigationView=FindViewById(Resource.Id.nav_视图);
navigationView.SetNavigationItemSelectedListener(此);
//这始终返回空值:
TextView runnerName=FindViewById(Resource.Id.runnerName);
}

我做错了什么?

同意Mike的观点,如果你想在
NavigationView
中获得
Textview
,你应该通过
NavigationView.GetHeaderView(0)获得
视图
,然后您可以使用以下代码获取
TextView

    NavigationView navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
    navigationView.SetNavigationItemSelectedListener(this);
    View MyView=navigationView.GetHeaderView(0);
    TextView textView1 = MyView.FindViewById<TextView>(Resource.Id.textView1);
NavigationView-NavigationView=findviewbyd(Resource.Id.nav_视图);
navigationView.SetNavigationItemSelectedListener(此);
View MyView=navigationView.GetHeaderView(0);
TextView textView1=MyView.FindViewById(Resource.Id.textView1);
下面是跑步截图


OnCreate()
中,您必须在
navigationView.GetHeaderView(0)
上调用
FindViewById()
,以获取
navigationView
标题中的任何
视图。加载并附加到
活动
的层次结构需要一点时间,因此在
活动
上调用
FindViewById()
将返回null。谢谢Mike,这很有意义。