在我的项目中,我有一些课程和一些布局。我在我的项目中添加了一个新包,而我在这个新包中的新类中存在一个问题:例如:当我写“setContentView(R.layout.author_xml);”我有红色下划线和通信:“R无法解析为变量”。在adnroid清单中,当我使用新包中的活动时,我添加:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tom"
android:versionCode="1"
android:versionName="1.0" >
<activity
android:name=".menu.NewGameActivity"><!--I add .menu-->
</activity>
通常在新包的类中我看不到布局。也许我应该在布局中添加一些内容,例如: android:package =“com.tom.menu” - &gt;但它不起作用。 在这种情况下我该怎么办?提前谢谢。
答案 0 :(得分:3)
如果您在子包中有一个类,例如com.tom.mypackage
,您必须从清单中提到的基本软件包导入R
。只需将import语句放入子包中的类中,这些类不会看到R
:
package com.tom.menu; // class in subpackage
import com.tom.R; // This will get you your R from base package
import android.app.Activity;
public class NewGameActivity extends Activity {
// use R here like you are used to
// remainder omitted...
答案 1 :(得分:0)
您需要在代码文件中导入R
类。该类是在我相信的应用程序清单中的包中生成的。如果你正在使用eclipse,你应该在项目资源管理器中看到生成的R
类,你可以看到它所在的包。还有一个android.R
包,其中包含与android OS。它有一些很酷的东西,但它与你的问题无关。