【发布时间】: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 但不知何故我没有了解我应该如何避免这个问题。 我的文件夹结构有什么完全错误的吗?
【问题讨论】:
-
所以澄清一下,您的
FragmentA1和FragmentA2是ActivityA的静态内部类?当您将它们作为单独的类时,您是否看到同样的问题? -
没错。更准确地说,ActivityA 是一个设置活动,
FragmentA1和FragmentA2是静态PreferenceFragmentCompat。我还没有尝试将它们移出 - 我无法想象我是唯一面临这种情况的人(将 Safe Args 与拆分的 Preference 片段结合起来)。
标签: java android android-safe-args