如何从另一个模块调用layout xml

时间:2015-04-15 19:45:31

标签: android android-layout android-fragments android-activity android-gradle

我在MainActivity中设置ContentView为 setContentView(R.layout.activity_main);

我在包中还有其他模块,对于我在gradle文件apply plugin: 'com.android.library'中定义的模块,这个模块也有res / layout / activity_main.xml

那么我可以从MainActivity中调用另一个模块的activity_main.xml吗?

3 个答案:

答案 0 :(得分:5)

是的,你可以,但你的模块必须有另一个Android packageId(编辑:只是为了确保,你在你的Android清单中声明你的packageId)。 所以例如你的app模块有com.example.app,库有com.example.lib。然后,您可以com.example.app.Rcom.example.lib.R访问您的资源ID。 因此,您的库模块中的布局会有com.example.lib.R.layout.activity_main

答案 1 :(得分:2)

我认为您正在寻找的是http://developer.android.com/tools/projects/index.html

的开发考虑因素部分

根据资源的说法,在不同的模块中不能有2个相同的布局:即使你的R文件正确命名空间,也会覆盖另一个布局。这是非常令人失望的行为,但它看起来唯一的方法是前缀。

答案 2 :(得分:0)

啊哈,记得把 CustomView 设为公开。我错过了几个小时。