Почему я не могу переопределить onConfigurationChanged? - PullRequest
3 голосов
/ 09 января 2010

Я пытаюсь переопределить метод onConfigurationChanged , и я получаю ошибку:

Метод onConfigurationChanged (Configuration) типа BaseActivity должен переопределить или реализовать метод супертипа

Вот мой 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);
    }
}

Многие посты в Интернете говорят, что я могу переопределить этот метод ... Есть идеи?

Ответы [ 3 ]

9 голосов
/ 09 января 2010

Есть ли у вас android.content.res.Configuration в ваших заявлениях на импорт? Eclipse может вставлять импорт автоматически, если вы нажмете Ctrl + Shift + O.

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

2 голосов
/ 11 января 2010

Дай угадаю. SuperNotCalledException.

@Override
public void onConfigurationChanged(Configuration newConfig)
{      
    super.onConfigurationChanged(newConfig); // add this line
    setContentView(R.layout.main);
}
0 голосов
/ 09 января 2010

Возможно, есть проблема с аннотацией @Override. Вы уверены, что оба метода, аннотированные @Override, определены в Activity?

Если нет, удалите соответствующую аннотацию @Override.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...