0

Ich habe eine Startaktivität, die zwei Registerkarten enthält, die zwei separaten Aktivitäten HeatMap und LiveMkt entspricht.TabActivity mit benutzerdefinierten Titel geben NullPointerException

Wie ich habe irgendwo gelesen, kann man nicht folgende Anweisung in Kind-Aktivitäten verwenden:

Window.RequestFeature(WindowFeatures.CustomTitle); 

So folgende ich versucht ....

OnCreate() von Launcher Aktivität enthält:

base.OnCreate (bundle); 
Window.RequestFeature(WindowFeatures.CustomTitle); 
SetContentView(Resource.Layout.TabView); 
//Code to create tabs which points to two activities `HeatMap` and `LiveMkt` 

OnCreate() von LiveMkt enthält:

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); 

wo AutoSearchBox Klasse LoadSearchBox() hat die

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

enthält Aber wenn ich diese debuggt, bekomme ich NullPointerException in LoadSearchBox() für edsearch und lsym obwohl ich diese zwei Elemente in LiveMkt und übergibt sie an LoadSearchBox().

LiveMkt.xml enthält ListViewLSYM und TitleBar.xml enthält EditTextedsearch.

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) 

Wie ich bin neu in Mono Android, jede Hilfe dankbar.

+0

Veröffentlichen Sie bitte den Stacktrace. –

+0

Lassen Sie mich umformulieren. Bitte poste den gesamten Stacktrace. –

+0

Entschuldigung für meine Annahme. Ich bin nur daran gewöhnt, größere Spuren zu sehen. –

Antwort

0

Sind Sie sicher, dass edsearch nicht null ist? Die Methode FindViewById gibt null zurück, wenn sie die Ansicht nicht finden konnte. Daher ist es möglich, dass dies für Sie geschieht.

+0

Es ist null nach der Anweisung 'edsearch = (EditText) FindViewById (Resource.Id.edsearch);' in 'OnCreate()' von 'LiveMkt'.Aber ich verstehe nicht, warum es null ist, obwohl ich eine 'TitleBar.xml' und eine' edsearch' innerhalb dieser Zeile habe. – GAMA