2011-11-22 30 views
0

我在某人提供了代碼的應用上運行測試,並且除了我的activity.java之外,我還得到了一切,它說R.layout.main,它說主不能解決。它宣稱,它爲什麼不檢測它?這低於當我的活動文件被聲明時,爲什麼我的主要功能不在我的活動文件中?

Activity.java

package magic.test.namespace; 

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

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

main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<Button 
android:id="@+id/bt_speak" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="Speak" 
/> 
<TextView 
android:id="@+id/tv_result" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="" 
/> 
</LinearLayout> 
+0

我很困惑。 IsCreate沒有在SaytheMagicWordActivity中被調用,這將暗示它從AndroiodManifest.xml中丟失或者是R.java缺少公共靜態最終類佈局? –

+0

請發佈您的'AndroidManifest.xml'文件。 –

+0

檢查Eclipse底部面板上的「問題」選項卡。有什麼嗎? – Krylez

回答

5

刪除import android.R所以它會尋找R.layout.main在您的項目,而不是android.R

0

的R.java文件會自動生成以響應資源目錄中的修改。如果您的SaytheMagicWordActivity類正在顯示解決R.layout.main的編譯錯誤,則會導致此自動生成。

您的項目中應該有一個名稱爲「res」的目錄,它應該有一個子目錄「layout」,其中有一個main.xml文件(res/layout/main.xml)。你看到這個文件嗎?當你改變這個文件時會發生什麼?如果你強制重新編譯R.java,如果你的目錄結構設置正確,你應該在那裏看到main的條目。

只要做Andriod HelloWorld應用程序,你會看到基本的結構。

相關問題