【问题标题】:Clashing class and package when using Android Safe Args使用 Android Safe Args 时的冲突类和包
【发布时间】:2020-10-01 22:35:50
【问题描述】:

我正在努力解决 Android (Java) 中的 Safe Args 的一个非常烦人的问题。

我有一个这样的项目结构:

com.myapp/
├── activites/
│   ├── ActivityA.java
|   |   ├── FragmentA1
|   │   └── FragmentA2
│   └── ActivityB.java
├── view/
|   └── ...
└── model/
    └── ...

这里的重要部分是 com.myapp.activities.ActivityA 包。

当向导航图添加一些导航路径时,Safe Args 会生成如下结构:

com.myapp/
└── activites/
    ├── ActivityA/
    |   ├── FragmentA1Directions
    │   └── FragmentA2Directions
    └── ...

在这种情况下,我无法编译我的项目,因为我得到了错误

错误:ActivityA 类与同名包冲突。

这对我来说完全有意义,因为生成了类 com.myapp.activities.ActivityA 以打包 com.myapp.activities.ActivityA 但不知何故我没有了解我应该如何避免这个问题。 我的文件夹结构有什么完全错误的吗?

【问题讨论】:

  • 所以澄清一下,您的FragmentA1FragmentA2ActivityA 的静态内部类?当您将它们作为单独的类时,您是否看到同样的问题?
  • 没错。更准确地说,ActivityA 是一个设置活动,FragmentA1FragmentA2 是静态PreferenceFragmentCompat。我还没有尝试将它们移出 - 我无法想象我是唯一面临这种情况的人(将 Safe Args 与拆分的 Preference 片段结合起来)。

标签: java android android-safe-args


【解决方案1】:

在 Activity 中使用 Fragments 似乎真的不行。

我将片段放入单独的文件中,以使其按照@ianhanniballake 的建议工作。

【讨论】:

    猜你喜欢
    • 2021-09-23
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    相关资源
    最近更新 更多