Дочерняя активность наследует родительскую активность - PullRequest
0 голосов
/ 13 февраля 2012

У меня есть родительский объект 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 голосов
/ 31 марта 2012

Вы пытаетесь использовать значение объекта, которое является нулевым, поэтому оно показывает исключение нулевого указателя. Дайте объекту ActionBar немного памяти оператору new.

ActionBar actionbar=new ActiobBar(this);
...