从baseActivity类重写onCreateOptionsMenu

时间:2013-03-27 14:07:55

标签: java android

我有一个名为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);
      }       

}

如果是booleanvoid,我将如何覆盖此方法。

更新

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

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

}

1 个答案:

答案 0 :(得分: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;
        }
      }       

}