Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何从另一个子模块访问子模块的布局?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的 android项目中有两个模块.我希望这两个模块都能访问其他模块的布局文件并执行Intent()等操作.

但是,使用编译项目(‘:x’)不适用于此.

编辑:
这两个模块都已成功添加项目中,并且gradle已正确同步并且清单已合并.我想如何从另一个模块的java文件访问一个模块的res / layout文件.对于上下文,我在模块1中有activityA.xml,我需要在模块2中,这样当在模块2中单击一个按钮时,它转换为具有intent的ActivityA.xml.

解决方法

好吧,要使用其他模块的资源,你必须做一些事情.

确定如何打包和使用模块.该应用程序的模块是“只是”还是在其他应用程序中使用.

如果它被多个项目使用,那么我建议将其打包为AAR并托管在您自己的Maven Repo中,并通过Gradle拉动以避免项目依赖于代码库本身.

如果它只被这个项目使用,那么你也必须做几件事.

1)确保setTings.gradle包含模块.您可以使用simple:modulename执行此操作,如果它是项目目录的本地目录.否则你可以用它

include 'myLib'
project(':myLib').projectDir = new File('../../../workspace/libs/myLib')

完成此操作后,确认Gradle Sync将模块拉入项目.而不只是一个带有IML的空文件夹.如果是空文件夹,请确认您的路径并重试.

步骤2)因此,您成功导入了模块,您可以在目录中看到它.但是,您不能拥有依赖于应用程序的模块,而应用程序依赖于模块.它被称为循环依赖,因此您只能让应用程序依赖于模块.转到应用程序模块中的模块

apply plugin: 'com.android.application'

并转到依赖部分并包含

compile ':myLib'

现在你需要确认你的编译myLib是否正常工作(myLib是你的lib的名字).要确认您可以从终端执行assembleRelease并查看它是否有任何问题,或者您也可以执行Gradlesync.

如果它工作,您现在可以通过简单地在顶部包含import语句将资源或文件导入到父app模块的任何Activity中.

现在你可以做一些事情,比如HelperClass.doSomething(其中HelperClass存在于myLibs中).

让我们更进一步.也许您需要HelperClass才能响应应用程序模块.然后你必须使用你要调用的任何方法在IMyCallBACk的myLib中提供一个接口,让父模块调用activity实现回调接口.

这是回答你的问题还是你有另一个问题.如果您的依赖项设置正确,则访问子模块的内容应该没有问题.

大佬总结

以上是大佬教程为你收集整理的android – 如何从另一个子模块访问子模块的布局?全部内容,希望文章能够帮你解决android – 如何从另一个子模块访问子模块的布局?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。