为什么我的主要功能在我的活动文件中没有被声明?

时间:2011-11-22 22:32:32

标签: java android android-activity main

我正在某个应用程序运行测试,有人为我提供了代码,除了我的activity.java之外,我得到了一切,它说R.layout.main并且它说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>

2 个答案:

答案 0 :(得分:5)

移除import android.R,以便在项目中找到R.layout.main而不是android.R

答案 1 :(得分:0)

R.java文件会自动生成,以响应资源目录中的修改。如果你的SaytheMagicWordActivity类显示解析R.layout.main的编译错误,那么就会搞砸这个自动生成。

你的项目中应该有一个名为“res”的目录,它应该有一个子目录“layout”,其中有一个main.xml文件(res / layout / main.xml)。你看到这个档案了吗?更改此文件后会发生什么?如果强制重新编译R.java,如果你的目录结构设置正确,你应该看到main的条目。

只需使用Andriod HelloWorld应用程序,您就会看到基本结构。