从另一个提供循环依赖的模块打开活动
Posted
技术标签:
【中文标题】从另一个提供循环依赖的模块打开活动【英文标题】:Open Activity From Another Module Giving Circular Dependency 【发布时间】:2021-02-04 01:11:25 【问题描述】:我正在开发必须调用位于主模块中的 Activity 的 android 应用程序。我面临的问题是,包含片段的子模块无法访问主模块中的活动。 我刚刚看到这些帮助链接,但无法解决访问主模块活动的问题..
这是我调用父模块的模块中的片段类..
Intent intent = new Intent(getActivity(), QRScannedResultActivity.class);
intent.putExtra("sendedscannedcontent", resultString);
startActivity(intent);
我调用 main 的函数图像
模块层次结构看起来像
在 Gradle 中添加 implementation project(path:':app')
后会出现循环依赖错误
【问题讨论】:
【参考方案1】:您可以使用Class.forName()
获取QRScannedResultActivity
类引用
假设QRScannedResultActivity
在com.maximus.technologies.view
包中,如果不是则替换包路径
try
Intent intent = new Intent(getActivity(),
Class.forName("com.maximus.technologies.views.QRScannedResultActivity"));
intent.putExtra("sendedscannedcontent", resultString);
startActivity(intent);
catch (ClassNotFoundException e)
e.printStackTrace();
【讨论】:
正是我的 QRScannedResultActivity 在主模块中,我想从子模块中打开它 此代码未打开我要打开的活动 @UsmanAli 你检查Class.forName
中的包路径是否与QRScannedResultActivity
的包路径匹配?此代码是否打开了另一个不是您要打开的活动的活动,还是什么都不打开?
循环依赖错误
它什么都没有打开,直到我在另一个模块中添加实现项目(路径:':应用程序')但添加它之后它给出了循环依赖错误以上是关于从另一个提供循环依赖的模块打开活动的主要内容,如果未能解决你的问题,请参考以下文章