2014.05.03 08:35
przykrywając onCreate w androidowej aktywności trzeba wywołać onCreate z rodzica - ale w którym miejscu mojego onCreate?

W klasie ActionBarActivity jak się przykrywa metodę onCreate, to trzeba w niej wywołać onCreate z rodzica - jak w każdej Activity. Ale inaczej niż w zwykłych activity, nie można tego zrobić w dowolnym miejscu metody onCreate - trzeba to zrobić przed zawołaniem setContentView. Jeśli się zrobi po, to dostanie się NPE ze środka ActionBarActivity#setContentView. Więc tak jest dobrze:

public class AktywnoscTestowa extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new TextView(this));
}
}

a tak jest źle:

public class AktywnoscTestowa extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(new TextView(this));
super.onCreate(savedInstanceState);
}
}

Dokumentacja ( https://developer.android.com/reference/android/support/v7/app/ActionBarActivity.html#onCreate%28android.os.Bundle%29 ) nie mówi o tym. Ona nawet nie mówi, że przykrywając onCreate w ActionBarActivity trzeba wywywołać onCreate z rodzica.

komentarze:

ksywa:

tu wpisz cyfrę cztery: (tu wpisz cyfrę cztery: (to takie zabezpieczenie antyspamowe))

komentarze wulgarne albo co mi się nie spodobają będę kasował


powrót na stronę główną

RSS