private void switchFragment(Fragment fragment) {
if (getActivity() == null)
return;
ClassA pm = (ClassA) getActivity();
pm.switchContent(fragment);
}
我正在尝试从ClassB switch fragments
,当我尝试时,我得到了这个例外。我试图调用Class A
活动的片段。
java.lang.ClassCastException:com.test.ClassB无法强制转换为 com.test.ClassA
答案 0 :(得分:3)
使用instanceof
检查getActivity()
类型,然后再将其转换为ClassA
或ClassB
。试试看:
if (getActivity() instanceof ClassA) {
ClassA pm = (ClassA) getActivity();
pm.switchContent(fragment);
}
else if (getActivity() instanceof ClassB) {
ClassB pm = (ClassB) getActivity();
pm.switchContent(fragment);
}