android - 无法从 Android 中的导航控制器销毁片段
问题描述
我的问题是一样的:在导航控制器中杀死片段
但我使用绑定,因为它正在获取 NPE,我没有 id 可以通过
代码:点击提交按钮时,我这样做了,所以它来到了 FragmentA,但是当我按下回,再次来到 C 时,用户应该退出应用程序。
val action = CheckoutFragmentDirections.actionCheckoutFragmentToProductFragment()
findNavController().navigate(action)
解决方案
在 nav_graph 里面添加这个 action 标签
app:popUpTo="@id/homeFragment"
完整代码:
fragment
android:id="@+id/welcomeFragment"
android:name="com.jimmytrivedi.kotlin.navcomponent.WelcomeFragment"
android:label="{username}"
tools:layout="@layout/fragment_welcome">
<argument
android:name="username"
app:argType="string" />
<argument
android:name="password"
app:argType="string" />
<action
android:id="@+id/action_welcomeFragment_to_homeFragment"
app:destination="@id/homeFragment"
app:enterAnim="@anim/slide_in_right"
app:exitAnim="@anim/slide_out_left"
app:popEnterAnim="@anim/slide_in_left"
app:popExitAnim="@anim/slide_out_right"
app:popUpTo="@id/homeFragment"
app:popUpToInclusive="true" />
</fragment>
推荐阅读
- firebase - Firebase 存储模拟器导入未定义
- laravel - Count 和 Groupby 是 Laravel Eloquent 中嵌套关系的值
- javascript - 在集合返回后调用集合上的映射与使用点链接映射
- node.js - Firebase 服务器时间戳的空对象
- amazon-web-services - 将目录重定向到单个 s3 存储桶?
- python - 错误:根:无法腌制 fasttext_pybind.fasttext 对象
- jenkins - Jenkins 作业、历史记录、用户 - 重新配置后全部丢失
- scipy - 最小化一个同情的表达
- rust - structopt:错误[E0277]:特征绑定`String:From<&OsStr>`
- r - 为什么我的列联表中有多余的行和列?