我怎样才能在R的另一个XML文件中实现类布局呢?
它应该是自动的,因为我有新的资源到res,但事实并非如此。有人知道我做错了什么吗?
我打开了一个活动,现在我想打开另一个活动,该活动将使用另一个XML示例。我有菜单和main.xml。现在我想使用这个方法去做另一个叫做gamescreen的活动:
newGameButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
Intent i = = new Intent(this, gameScreen.class);
startActivity(i);
}
}
我想转到另一个“页面”,转到另一个名为gameScreen的活动,该活动应该与名为gameScreen.xml的XML相关联。
但在它的onCreate中:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gameScreen);
}
并且gameScreen不是R文件的成员。
主要的问题是,当我向布局添加资源时,例如newxmlfile.xml,R文件不做任何工作,并停留在这种状态。
public static final class layout {
public static final int main=0x7f030000;
}where it should have been:
public static final class layout {
public static final int main=0x7f030000;
public static final int newxmlfile=0x7f031000;
}
发布于 2010-05-23 11:35:03
如果您的文件确实存在于res/layout
文件夹中,并且您可能位于不同的包中,则必须导入对R
的引用,并删除对android.R
的任何引用
import com.mypkg.R;
另外,不要忘了将类gameScreen
作为活动添加到清单文件中。
编辑
您应该使用向导重新创建XML文件,并确保一切正常。与位于SDK的安装/samples/
目录中的一些示例进行比较。
发布于 2010-05-23 11:36:34
您必须将新活动添加到AndroidManifest.xml中:
...
<activity
android:name=".gameScreen">
</activity>
编辑:
这里假设gameScreen是新活动的类名。另外,据我所知,gameScreen是一个位于res/layout中的XML文件。
gameScreen.xml
的文件名必须为小写:gamescreen.xml
。
发布于 2010-05-23 14:48:23
使用aapt(exe位于platforms//tools/aapt)命令生成R文件:
aapt package -f -M ${manifest.file} -F ${packaged.resource.file} -I ${path.to.android-jar.library} -S ${android- -m - -J }-m-J ${folder.to.output.the.R.java}
它将生成一个新的R.java文件。如果有任何错误,它也会显示给你。
https://stackoverflow.com/questions/2891515
复制相似问题