gpt4 book ai didi

java - 如何使用类名而不是索引来实例化 fragment 类

转载 作者:搜寻专家 更新时间:2023-10-30 21:25:29 24 4
gpt4 key购买 nike

我有两个名为 SessionTabBillingTab 的 fragment 类,我正在尝试使用这些类创建实例

SessionTab sessionTab = (SessionTab) getSupportFragmentManager().getFragments().get(1);

但有时这些类的索引会反转,然后会导致 ClassCastException

我如何通过传递类名而不是索引来获取这些 fragment 类的实例,或者以任何方式确保这些类的索引每次都保持不变,这样就不会导致 ClassCastException

最佳答案

使用以下方法之一:findFragmentById()findFragmentByTag() 方法。

引用:https://developer.android.com/reference/android/app/FragmentManager.html#findFragmentById(int)

更新:

ClassCastException 在您没有将适当的类相互转换时调用。在您的情况下,您的 FragmentManager 返回的 fragment 与 SessionTab 不同,因此会引发异常。

如果您使用 findFragmentById()findFragmentByTag() ,那么它将准确返回您想要的 fragment ,并且不会抛出异常。

关于java - 如何使用类名而不是索引来实例化 fragment 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39621995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com