为什么我不能覆盖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注释。