为什么我不能覆盖onConfigurationChanged?

我试图覆盖onConfigurationChanged方法,我得到错误:

BaseActivity类型的onConfigurationChanged(Configuration)方法必须覆盖或实现超类型方法

这是我的BaseActivity.java:

import android.app.Activity; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; public class BaseActivity extends Activity { protected View.OnClickListener mButtonListenerUPP; protected View.OnClickListener mButtonListenerALT; protected View.OnClickListener mButtonListenerNAV; protected View.OnClickListener mButtonListenerHIS; @Override public void setContentView(int layoutResID) { super.setContentView(layoutResID); } @Override public void onConfigurationChanged(Configuration newConfig) { setContentView(R.layout.main); } } 

互联网上的很多post都说我可以覆盖这种方法……任何想法?

你的import语句中有android.content.res.Configuration吗? 如果按Ctrl + Shift + O,Eclipse可以自动插入导入。

如果缺少,编译器将无法识别您是否合法地覆盖了超类方法,因此会抛出错误。

让我猜猜。 SuperNotCalledException。

 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // add this line setContentView(R.layout.main); } 

也许@Override注释存在问题。 您确定在Activity中定义了使用@Override注释的两种方法吗?

如果不是,则必须删除相应的@Override注释。