子活动继承父活动

时间:2012-02-13 13:18:36

标签: android android-layout android-intent android-emulator

我有一个父Activity包含一个ActionBar对象:

import android.os.Bundle;
import android.support.v4.app.ActionBar;
import android.support.v4.app.FragmentActivity;

public class ParentActivity extends FragmentActivity{

     private ActionBar actionBar; //Action bar

     @Override
     protected void onCreate(Bundle arg0) {
         super.onCreate(arg0);
         actionBar = getSupportActionBar();
     }

     public void setActionBar(String title){

        actionBar.setTitle(title);  
    }
}

然后,我的子Activity继承父Activity,并尝试在父级中设置ActionBar

public class ChildActivity extends ParentActivity {

    @Override
    protected void onCreate(Bundle arg0) {
    super.onCreate(arg0);

    //try to set action bar title, but get error
    setActionBar(getString(R.string.myname));
        ...
    }
}

但我收到了错误:

 android.app.SuperNotCalledException
 at ...ParentActivity.setActionBar(..) 

然后,我改为使用super.setActionBar(...);

我收到错误:NullPointerException setActionBar

为什么?

1 个答案:

答案 0 :(得分:0)

您正在尝试使用null对象的值,因此它显示空指针异常。为ActionBar对象提供new运算符的一些内存。

ActionBar actionbar=new ActiobBar(this);