2

在我的项目中,我有一些课程和一些布局。我在我的项目中添加了一个新包,我在这个新包的新类中出现了一个问题:例如,当我编写“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" -> 但它不起作用。在这种情况下我能做什么?先感谢您。

4

2 回答 2

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...
于 2012-08-01T20:00:30.093 回答
0

您需要R在代码文件中导入该类。我相信该类是在您的应用清单中的包中生成的。如果您使用的是 eclipse,您应该R在项目资源管理器中看到生成的类,并且可以看到它所在的包。还有一个android.R包,其中包含与 android OS 捆绑的所有资产。它有一些很酷的东西,但它与你的问题无关。

于 2012-08-01T19:53:11.890 回答