【问题标题】: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') 后会出现循环依赖错误

【问题讨论】:

    标签: java android android-studio listview circular-dependency


    【解决方案1】:

    您可以使用Class.forName() 获取QRScannedResultActivity 类引用

    假设QRScannedResultActivitycom.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 的包路径匹配?此代码是否打开了另一个不是您要打开的活动的活动,还是什么都不打开?
    • 循环依赖错误
    • 它什么都没有打开,直到我在另一个模块中添加实现项目(路径:':应用程序')但添加它之后它给出了循环依赖错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 2017-10-27
    • 2021-09-18
    相关资源
    最近更新 更多