在有一些情况下,需要进行Fragment的监听,简单的Fragment监听可能是如下这样子的。
@Override
public void onBackPressed() {
if(selectedFragment.equals(fragmentA) && fragmentA.hasExpandedRow()) {
fragmentA.collapseRow();
} else if(selectedFragment.equals(fragmentA) && fragmentA.isShowingLoginView()) {
fragmentA.hideLoginView();
} else if(selectedFragment.equals(fragmentA)) {
popBackStack();
} else if(selectedFragment.equals(fragmentB) && fragmentB.hasCondition1()) {
fragmentB.reverseCondition1();
} else if(selectedFragment.equals(fragmentB) && fragmentB.hasCondition2()) {
fragmentB.reverseCondition2();
} else if(selectedFragment.equals(fragmentB)) {
popBackStack();
} else {
// handle by activity
super.onBackPressed();
}
}
具体说上以上的情况,就是获取Fragment的实例,然后再进行抛栈的做法,这里我们可以抽象出一个接口,然后Fragment再继承这些接口。适用于单个Fragment&#x