我有一个父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
为什么?
答案 0 :(得分:0)
您正在尝试使用null对象的值,因此它显示空指针异常。为ActionBar
对象提供new
运算符的一些内存。
ActionBar actionbar=new ActiobBar(this);