当前位置: 首页 > 知识库问答 >
问题:

Android:快速双击任何与导航组件相关的视图会使应用程序崩溃[重复]

卫弘义
2023-03-14

我有一个应用程序构建与导航组件。我在我的图表中有一个字段,它在工具栏上的过滤器图标上滑动时向上滑动一个底部工作表对话框片段。但是,如果我双击工具栏筛选器图标上的“真快”,或者单击工具栏筛选器图标上的“真快”,以及任何其他与导航相关联的视图,我的应用程序将崩溃,并出现以下错误消息:

java.lang.IllegalArgumentException: navigation destination com.th3pl4gu3.locky:id/action_Fragment_Card_to_Fragment_View_Card is unknown to this NavController

下面是工具栏筛选器图标的代码示例。

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    return when (item.itemId) {
        R.id.Toolbar_Filter -> {
                findNavController().navigate(CardFragmentDirections.actionFragmentCardToBottomSheetFragmentCardFilter())
            true
        }
        else -> false
    }
}

共有1个答案

孙阳舒
2023-03-14

CurrentID是navGraph定义id中的CardFragment

fun Fragment.findNavControllerSafety(currentId: Int): NavController? {
    try {
        val controller = NavHostFragment.findNavController(this)

        if (controller.currentDestination?.id != currentId) {
            val name = controller.currentDestination?.let {
                Utils.getApp().resources.getResourceName(it.id)
            } ?: ""
            LogLogger.i("Navigation currentDestination not match: $name")
            return null
        }
        return controller
    } catch (e: Exception) {
        return null
    }
}
 类似资料:
  • 我有底部导航与片段和改型api调用 我调用来切换片段,如下所示 洛克卡特 在.java:6606)在java.lang.reflect.method.invoke(method.java)在com.android.internal.os.runtimeinit$methodandargscaller.run(runtimeinit.java:518)在com.android.internal.os

  • 我现在正在学习如何在Android Studio上制作一个简单的相机应用程序。当我点击“相机”按钮,应用程序崩溃。我似乎无法确定是什么导致了应用程序崩溃。在logcat中,它声明'start activityforresult'可能是原因...但在我看来这很正常。 我确保相机按钮id与java文件匹配。非常感谢任何帮助! 这是我从logcat复制的内容: 06-24 21:30:45.769 21

  • 自定义datePicker代码: 这就是我如何在我的主要活动中使用这个类: Logcat:

  • 作为快速可视化,这是我的布局: 当我为Coordinator布局设置一个ID()时,应用程序在启动时崩溃,但是删除ID可以让它正常运行。怎么回事?为什么为根视图设置ID会导致应用程序崩溃? 我见过有人用这个findViewById(android.R.id.content)来获取根视图;这是获得rootview的唯一方法吗? 崩溃日志 07-06 18:30:42.253 9385-9385/me

  • 一切正常,应用程序出现了。但当我点击任何切换按钮时,应用程序就会崩溃。 我试过了,但找不到问题。其实我的知识还不够,我是这个领域的新手。所以请帮帮我。 这是查看活动。JAVA 还有这只logcat 2020-03-18 03:16:50.407 31609-31609/? E/lpaper。wallper:运行时设置的未知位_标志:0x8000 2020-03-18 03:17:04.862 31

  • 这是代码- 启动应用程序时出错-01-13 17:07:13.543 5027-5058/com。实例金纳里。trial2 D/FA:日志记录事件(FE):用户参与(\u e),捆绑[{firebase\u event\u origin(\u o)=自动,参与时间\u毫秒(\u et)=2716,firebase\u screen\u class(\u sc)=主活动,firebase\u scr