您的位置:首页 > 其它

Fragment监听返回键最简单的方式

2018-01-15 22:15 387 查看
核心就是借助于继承通用的BaseFragment 、利用Activity的返回监听

1、首先在BaseFragment中定义一个公共方法

public boolean onKeyBackPressed() {
return false;
}


2、在业务LogicFragment 继承 BaseFragment 覆盖 onKeyBackPressed 返回,注意此处返回的布尔值,一会再说

//部分业务代码请忽略,注意返回值
@Override
public boolean onKeyBackPressed() {
if (mCurrLeve==2){
mCurrLeve--;
actionGetTreeTask(mCurrLeve);
return true;//用来自定义事件已经消费
}
return false;//用来自定义事件未消费
}


3、覆盖LogicActivity的onBackPressed方法 将返回时间传递给BaseFragment

@Override
public void onBackPressed() {
BaseFragment fragment = (BaseFragment) getSupportFragmentManager()
.findFragmentById(R.id.content_frame);
if (!fragment.onKeyBackPressed()){//fragment.onKeyBackPressed()返回false代表未消费事件
super.onBackPressed();//继续执行原有返回逻辑
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: