0

我最近拿起了几个月前的一个项目。去重新打开项目,发现以下几个错误:

public void onCreate(Bundle savedInstanceState) {

给出错误:myMain 类型的方法 onCreate(Bundle) 必须覆盖或实现超类型方法

super.onCreate(savedInstanceState);
    setContentView(R.layout.splashscreen);

给出错误: Activity 类型的 onCreate(Bundle) 方法未定义,Activity 类型的 onCreate(Bundle) 方法未定义。

@Override
protected void onPause() {

给出错误: myMain 类型的方法 onPause() 必须覆盖或实现超类型方法

我为第一部分创建了一个具有相同代码的新项目(参见代码块 2)并且没有收到任何错误。我确信这是一个我无法确定的小的配置/代码更改,它将一次性解决所有这些问题。

完整代码为:package com.myapp.app;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;

public class myMain extends Activity {

MediaPlayer mpSplash;

@Override
// onCreate works like in the activity diagram from tutorial.
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splashscreen);

    mpSplash = MediaPlayer.create(this, R.raw.logo_noise);
    mpSplash.start();
    Thread logoTimer = new Thread()
    {
        public void run()
        {
            try{
                int logoTimer = 0;
                while(logoTimer < 2000)
                {
                sleep(100);
                logoTimer = logoTimer +100;
                }
                startActivity(new Intent ("com.myapp.app.CLEARSCREEN"));
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            finally{
                finish(); // shut down class
            }
        }
    };
    logoTimer.start();
}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
}

@Override
protected void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
    mpSplash.release();
}

@Override
protected void onRestart() {
    // TODO Auto-generated method stub
    super.onRestart();
    mpSplash.pause();
}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    mpSplash.start();
}

@Override
protected void onStop() {
    // TODO Auto-generated method stub
    super.onStop();
}

}

代码块 2

import android.app.Activity;
import android.os.Bundle;

public class myMain extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

我四处搜索,发现主要是过于复杂和不相关的问题,例如: android.r 的导入更新构建路径重新导入项目创建对类的新引用。配置proguard?以上似乎都没有奏效。

任何人都可以在此问题上提供的任何帮助将不胜感激。

4

2 回答 2

0

尝试清理你的项目 Project -> clean,如果这不能解决它。我认为问题在于您的编译器设置设置为 Java 1.5 而不是 Java 1.6。转到 Windows -> 首选项 -> Java -> 编译器并将编译器合规级别更改为 1.6

于 2012-06-23T17:42:15.623 回答
0

我最近拿起了几个月前的一个项目。去重新打开项目,发现以下几个错误。

如果您的代码在没有错误之前工作,那么它现在肯定应该在没有错误的情况下工作。我不知道你为什么在你的帖子中发布你所有的代码,因为这个原因......

确保您没有移动 android SDK 文件夹(android-sdks默认情况下)。这将导致 Eclipse 抛出您所描述的错误,因为它将无法找到框架类,例如Activity, 等。

onCreate(Bundle)类型的方法myMain必须覆盖或实现超类型方法。

这个错误意味着eclipse认为这onCreate不是Activity类中定义的方法。这使我相信您的 eclipse 安装已过时,eclipse 找不到 SDK 类文件,或者您的 eclipse 安装完全搞砸了。确保您拥有最新版本的 ADT 插件(修订版 18)。如果这不起作用,那么只需创建一个新项目......如果您可以从头开始,那么尝试找出问题所在是不值得的。

于 2012-06-23T18:14:23.533 回答