Asıl sorunuza cevap vermek için, super.onCreate () çağrısının otomatik olarak oluşturulması ADT eklentisinin bir özelliğidir. Java'da, bir alt sınıfı, bir yöntemin süper uygulamasını (afaik) çağırmaya doğrudan zorlayamazsınız (geçici çözüm için diğer yanıtlarda açıklanan modele bakın). Ancak, Android'de Activity nesnelerini (veya Hizmet nesnelerini) doğrudan örneklemediğinizi unutmayın - sisteme bir Niyet iletirsiniz ve sistem nesneyi başlatır ve onCreate () öğesini çağırır (diğer yaşam döngüsü yöntemleriyle birlikte). Bu nedenle, sistemin Activity örneğine doğrudan bir nesne referansı vardır ve onCreate () 'in üst sınıf uygulamasında true olarak ayarlanmış bazı Boolean'ları kontrol edebilir (muhtemelen). Tam olarak nasıl uygulandığını bilmesem de, muhtemelen şuna benziyor:
class Activity
{
onCreate()
{
superCalled = true;
...
}
...
}
Ve Intent'i alan ve ondan Activity nesnesini başlatan "sistem" seviyesi sınıfında:
...
SomeActivitySubclass someActivitySubclassObject = new SomeActivitySubclass();
someActivitySubclassObject.onCreate();
if (!someActivityObject.isSuperCalled())
{
Exception e = new Exception(...)
throw e;
}
Tahminim muhtemelen bundan biraz daha karmaşık, ama siz anladınız. Eclipse, ADT eklentisi kolaylık olması açısından çağrıyı otomatik olarak oluşturur. Mutlu kodlamalar!