我正在尝试覆盖方法 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);
}
}
互联网上的很多帖子都说我可以覆盖这种方法......有什么想法吗?
答案 0 :(得分:9)
您的导入声明中是否有android.content.res.Configuration
?如果按Ctrl + Shift + O,Eclipse可以自动插入导入。
如果缺少,编译器将无法识别您是否合法地覆盖了超类方法,因此会抛出错误。
答案 1 :(得分:2)
让我猜一下。 SuperNotCalledException。
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig); // add this line
setContentView(R.layout.main);
}
答案 2 :(得分:0)
可能@Override注释存在问题。您确定在Activity中定义了两个使用@Override注释的方法吗?
如果不是,则必须删除相应的@Override注释。