2012-02-13 185 views
0

我有一個父活動持有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); 
    } 
} 

然後,我的孩子活動繼承父活動,並嘗試設置父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(..) 

然後,我陳GED使用super.setActionBar(...);

我得到錯誤:NullPointerException setActionBar

爲什麼?

+1

你能展示整個stacktrace併發布引發異常的代碼行嗎? – m0skit0 2012-02-13 13:23:40

+0

另外,getSupportActionBar的內容會很好 - 在某些情況下可以返回null嗎? – Guillaume 2012-02-13 13:57:37

回答

0

您試圖使用空值對象的值,因此它顯示空指針異常。給ActionBar對象一些內存運算符new

ActionBar actionbar=new ActiobBar(this); 
相關問題