0

私は最近、数ヶ月前からプロジェクトを取り上げました。プロジェクトを再度開くと、次のエラーがいくつか見つかりました。

public void onCreate(Bundle savedInstanceState) {

エラーが表示されます: タイプ myMain のメソッド onCreate(Bundle) は、スーパータイプ メソッドをオーバーライドまたは実装する必要があります

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

エラーが表示されます: メソッド onCreate(Bundle) はタイプ Activity に対して未定義であり、メソッド onCreate(Bundle) はタイプ Activity に対して未定義です。

@Override
protected void onPause() {

エラーが表示されます: タイプ myMain のメソッド onPause() は、スーパータイプ メソッドをオーバーライドまたは実装する必要があります

最初のセクション (コード ブロック 2 を参照) と同じコードで新しいプロジェクトを作成しましたが、エラーは発生しません。これらすべての問題を 1 回のスイープで解決できるのは、特定できない構成/コードの小さな変更であると確信しています。

完全なコードは次のとおりです。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 のインポート ビルド パスの更新 プロジェクトの再インポート クラスへの新しい参照の作成。プロガードの設定?上記のどれも機能していないようです。

この問題について誰でも提供できるヘルプをいただければ幸いです。

4

2 に答える 2

0

私は最近、数ヶ月前からプロジェクトを取り上げました。プロジェクトを再度開くと、次のエラーがいくつか見つかりました。

エラーが発生する前にコードが機能していた場合、現在は間違いなくエラーなしで機能しているはずです。この理由により、投稿にすべてのコードを投稿した理由がわかりません...

android-sdksAndroid SDK フォルダー (デフォルト) を移動していないことを確認してください。これにより、eclipse は などのフレームワーク クラスを見つけることができないため、説明しているようなエラーをスローしますActivity

onCreate(Bundle)typeのメソッドはmyMain、スーパータイプ メソッドをオーバーライドまたは実装する必要があります。

onCreateこのエラーは、クラスで定義されたメソッドではないと eclipse が判断したことを意味しActivityます。これにより、Eclipseのインストールが古くなっている、EclipseがSDKクラスファイルを見つけられない、またはEclipseのインストールが完全に台無しになっていると思われます。最新バージョンの ADT プラグイン (リビジョン 18) を使用していることを確認してください。それがうまくいかない場合は、新しいプロジェクトを作成してください...ゼロから始めることができるのであれば、何がうまくいかなかったのかを理解しようとする価値はありません。

于 2012-06-23T18:14:23.533 に答える
0

これで解決しない場合は、プロジェクトのプロジェクトをクリーンアップしてください -> クリーンアップしてください。問題は、コンパイラの設定が Java 1.6 ではなく Java 1.5 に設定されていることだと思います。Windows -> Preferences -> Java -> Compiler に移動し、Compiler の準拠レベルを 1.6 に変更します。

于 2012-06-23T17:42:15.623 に答える