如何解决这是检测当前活动片段的好方法吗?
我目前正在尝试确定哪个片段是 onResume() 方法中的当前活动片段。
我目前基于目标 ID 进行检测。下载应用程序的每个人的 ID 是相同的还是随机生成的数字?
我如何获得 ID:
Navigation.findNavController(getView()).getCurrentDestination().getId()
我如何使用它:
if (Navigation.findNavController(getView()).getCurrentDestination().getId() == 2131296382){
Log.w("Navigation","The current fragment is the chat fragment");
}
解决方法
仅对数字进行操作是非常糟糕的方法 - 在您的情况下是整数 ID,称为“幻数”。
下载应用程序的每个人的 ID 是否都相同
所有设备上的资源 id 将相同,具有相同版本的应用程序,不同版本的资源 id 可能不同,因为它们是在构建过程中生成的代码。
如果你想操作资源id,你需要通过引用从R.java类中获取它们。所有资源 ID 都在 R.java 类中可用。在您的情况下,来自您的 navigation.xml 的 R.id.