Android 带有自定义标题的TabActivity提供NullPointerException

Android 带有自定义标题的TabActivity提供NullPointerException,android,nullpointerexception,xamarin.android,android-tabactivity,custom-titlebar,Android,Nullpointerexception,Xamarin.android,Android Tabactivity,Custom Titlebar,我有一个launcher活动,它包含两个选项卡,分别对应于两个独立的活动HeatMap和LiveMkt 正如我在某个地方读到的,在儿童活动中不能使用以下语句: Window.RequestFeature(WindowFeatures.CustomTitle); 所以我试着跟着 启动器活动的OnCreate()包含: base.OnCreate (bundle); Window.RequestFeature(WindowFeatures.CustomTitle); SetContentView(

我有一个launcher活动,它包含两个选项卡,分别对应于两个独立的活动
HeatMap
LiveMkt

正如我在某个地方读到的,在儿童活动中不能使用以下语句:

Window.RequestFeature(WindowFeatures.CustomTitle);
所以我试着跟着

启动器活动的OnCreate()包含:

base.OnCreate (bundle);
Window.RequestFeature(WindowFeatures.CustomTitle);
SetContentView(Resource.Layout.TabView);
//Code to create tabs which points to two activities `HeatMap` and `LiveMkt`
base.OnCreate (bundle);
SetContentView(Resource.Layout.LiveMkt);
Window.SetFeatureInt(WindowFeatures.CustomTitle,Resource.Layout.TitleBar);
edsearch = (EditText) FindViewById(Resource.Id.edsearch);       
_autoSearchBox = new AutoSearchBox();                       
_autoSearchBox.LoadSearchBox(this,edsearch,lsym);

LiveMkt的
OnCreate()
包含:

base.OnCreate (bundle);
Window.RequestFeature(WindowFeatures.CustomTitle);
SetContentView(Resource.Layout.TabView);
//Code to create tabs which points to two activities `HeatMap` and `LiveMkt`
base.OnCreate (bundle);
SetContentView(Resource.Layout.LiveMkt);
Window.SetFeatureInt(WindowFeatures.CustomTitle,Resource.Layout.TitleBar);
edsearch = (EditText) FindViewById(Resource.Id.edsearch);       
_autoSearchBox = new AutoSearchBox();                       
_autoSearchBox.LoadSearchBox(this,edsearch,lsym);

其中
AutoSearchBox
类具有
LoadSearchBox()
,其中包含

public void LoadSearchBox(Activity activity,EditText edsearch,ListView lsym)
{
    edsearch.TextChanged+= delegate 
    {//Something
     }
}

但是当我调试这个时,我在
LoadSearchBox()中得到
NullPointerException
,用于
edsearch
lsym
,即使我在
LiveMkt
中有这两个元素并将它们传递给
LoadSearchBox()

LiveMkt.xml
包含
ListView
lsym和
TitleBar.xml
包含
EditText
edsearch

StackTrace:

Exception Details : System.NullReferenceException: Object reference not set to an instance of an object

at AutoSearchBox.LoadSearchBox (Android.App.Activity activity, Android.Widget.EditText edsearch, Android.Widget.ListView lsym)

由于我是Mono Android新手,非常感谢您的帮助。

您确定
edsearch
不为空吗?如果找不到视图,该方法将返回null,因此您可能会遇到这种情况。

让我重新表述一下。请把所有的stacktrace都贴出来。为我的假设道歉。我只是习惯于看到更大的痕迹。请发布你的
LiveMkt.xml
Aah!您可以看到
FindViewById()
是一种活动方法,并且由于
LiveMkt.xml
不包含
EditText
(根据您上面的评论),它将返回null,因为它只会尝试在
LiveMkt.xml
中查找id为
edsearch
的视图。你需要弄清楚如何将EventHandler附加到自定义窗口标题视图(这不是你活动的一部分)。但是这里有一个问题,因为我无法破解建议的第二部分……在语句
edsearch=(EditText)FindViewById(Resource.Id.edsearch)之后,它是空的
LiveMkt
OnCreate()
中。但是我不明白为什么它是空的,即使我有一个
TitleBar.xml
edsearch
。。