2013-03-27 3 views
0

У меня есть основной класс, называемый BaseActivity, который имеет методПереопределение onCreateOptionsMenu из класса baseActivity

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getSupportMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

Теперь я продлить этот класс, как это ...

public class MainActivity extends BaseActivity { 

     @Override 
     public void onCreateOptionsMenu(Menu menu, MenuInflater menuInflater) { 
     Log.d("Its called", "Kevin"); 
     menuInflater.inflate(R.menu.othermenu, menu); 
     }  

} 

Как бы я переопределить этот метод здесь , если оно должно быть boolean или void.

Update:

public class FragmentClass extends android.support.v4.app.Fragment { 

     // How would i over-ride the onCreateOptionsMenu() here of BaseActivity. 

} 

ответ

1

Любой наиважнейший метод должен иметь ту же сигнатуру, что и метод его переопределяя. Не забудьте вызвать супер, вот так:

public class MainActivity extends BaseActivity { 

     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
     if(super.onCreateOptionsMenu(menu)) { 
      Log.d("Its called", "Kevin"); 
      getSupportMenuInflater().inflate(R.menu.othermenu, menu); 
      return true; 
     } else { 
      return false; 
     } 
     }  

} 
+0

Но мой класс BaseActivity не MenuInflater menuInflater – Kevin

+0

Исправлено - скопировано из вашего вопроса неправильно. – 323go

+0

Будет ли то же самое, если я переверну его в моем классе фрагментов тоже ... Я получаю сообщение об ошибке, когда пытаюсь поместить это в класс Fragment. – Kevin

Смежные вопросы