【发布时间】:2014-07-03 12:36:47
【问题描述】:
我不得不在这里多次使用instanceof,同时检查Fragment 是什么子类,我觉得我在某个地方出错了:
@Override
public void onBackPressed() {
Fragment frag = mManager.findFragmentByTag("Fragment");
if(frag instanceof CustFragmentOne ||
frag instanceof CustFragmentTwo ||
frag instanceof CustFragmentThree ||
frag instanceof CustFragmentFour) {
//This method displays an instance of "CustFragmentFive"
displayView(0);
}
else if(frag instanceof CustFragmentFive)
super.onBackPressed();
else if(mManager.getBackStackEntryCount() > 0)
getFragmentManager().popBackStack();
else
super.onBackPressed();
}
有什么办法可以在这里使用它吗?我还能如何识别片段的类型并相应地调用正确的方法?
【问题讨论】:
-
绕过
instanceof操作符的典型方法是Visitor pattern -
标签: java android fragment instanceof