簡體   English   中英

Android-onPause,onCreate,setContentView不起作用-未定義類型myMain的方法X

[英]Android - onPause, onCreate, setContentView not working - method X is undefined for the type myMain

我最近剛從幾個月前開始從事一個項目。 去重新打開項目,發現以下幾個錯誤:

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),並且沒有收到任何錯誤。 我確信這是一個很小的配置/代碼更改,我無法確定將一口氣解決所有這些問題的方法。

完整代碼是:包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? 以上似乎都不起作用。

任何人都可以在此問題上提供的任何幫助將不勝感激。

如果無法解決問題,請嘗試清理項目Project-> clean。 我認為問題在於您將編譯器設置設置為Java 1.5而不是Java 1.6。 轉到Windows->“首選項”->“ Java”->“編譯器”,然后將“編譯器符合性級別”更改為1.6

我最近剛從幾個月前開始從事一個項目。 去重新打開該項目,發現以下一些錯誤。

如果您的代碼在沒有錯誤之前就可以正常工作,那么它現在肯定應該可以正常工作而沒有錯誤。 我不確定為什么您將所有代碼都發布在您的帖子中,因此...

確保您尚未移動android SDK文件夾(默認情況下為android-sdks )。 這將導致Eclipse拋出您所描述的錯誤,因為它將無法找到諸如Activity等的框架類。

類型為myMain onCreate(Bundle)方法必須重寫或實現一個超類型方法。

此錯誤意味着eclipse認為onCreate不是Activity類中的已定義方法。 這使我相信您的eclipse安裝已經過時,eclipse找不到SDK類文件或者您的eclipse安裝完全被搞砸了。 確保您具有最新版本的ADT插件(修訂版18)。 如果那不起作用,那么只需創建一個新項目...如果您可以從頭開始,就不應該嘗試找出出了什么問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM