2013-03-21 36 views
0

我寫一個活動類像下面如何調用其延伸baseactivity

public class HeaderFooter extends Activity { 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.headerfooter); 
     } 
} 

,我來自的HeaderFooter類延伸的一個多個類

public class Home extends HeaderFooter 
{ 
     @Override 
     public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      ViewGroup vg = (ViewGroup) findViewById(R.id.lldata); 
      ViewGroup.inflate(Home.this, R.layout.home, vg); 
     } 
} 

如何調用擴展的類的活動從基類上listitemclick事件

如果我嘗試用下面的代碼

Intent i=new Intent(HeaderFooter .this, Home .class); 
        startActivity(i); 

我收到異常告訴我如何從我的主類調用擴展類。

異常詳細信息:

03-21 07:17:44.173: E/AndroidRuntime(1522): FATAL EXCEPTION: main 
03-21 07:17:44.173: E/AndroidRuntime(1522): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pcmac.parentconnect/com.pcmac.parentconnect.Grades}: java.lang.NullPointerException 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at android.os.Handler.dispatchMessage(Handler.java:99) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at android.os.Looper.loop(Looper.java:137) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at android.app.ActivityThread.main(ActivityThread.java:5039) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at java.lang.reflect.Method.invoke(Method.java:511) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at dalvik.system.NativeStart.main(Native Method) 
03-21 07:17:44.173: E/AndroidRuntime(1522): Caused by: java.lang.NullPointerException 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at com.pcmac.parentconnect.LayerStack.onCreate(LayerStack.java:174) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at com.pcmac.parentconnect.Grades.onCreate(Grades.java:15) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at android.app.Activity.performCreate(Activity.java:5104) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
03-21 07:17:44.173: E/AndroidRuntime(1522):  ... 11 more 
+1

你有什麼異常? – Kiran 2013-03-21 07:08:39

+0

我會發布logcat它是一種方式來調用一個活動 – 2013-03-21 07:10:02

+0

什麼是異常? – Abx 2013-03-21 07:10:47

回答

0

在這種情況下,要使用意向的其他構造:

Intent i = new Intent(); 
i.setClassName(context, getTargetActivityClassName() /* child class override this method and return a string */);