[英]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.