【填补改需求的坑】viewpager中的全屏fragment如何监听返回键
来源:互联网 发布:胡歌车祸知乎 编辑:程序博客网 时间:2024/06/02 03:11
Java Code
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
因为改需求的原因,又暂时没时间代码重构,就一直把全屏的Fragment当做activity用,因为为此填了不少坑。
如何在Fragment中监听返回键呢?
思路就是Fragment从属的activity监听返回键,分发给各个Fragment模拟返回键
Activity中:
@Override
public void onBackPressed()
{
/*如果我的问题 我的回答 问题详情 我要求助
* 这四个fragment处于可见的状态,就该让这些fragment处理返回键
* 调用各自的返回逻辑*/
int index = viewPager.getCurrentItem();
// switch(index){
// case MYANSWER_FRAGMENT_INDEX:
// /*调用各自fragment的返回方法,有更好的方法*/
// break;
// }
/*需要直接finish的fragment*/
if(index == COOPERATION_FRAGMENT_INDEX || index == GROUP_FRAGMENT_INDEX)
{
this.finish();
}
else //需要软返回的fragment
{
EventBus.getDefault().post(new OnBackPressedMsg());
}
}
/*定义一个消息类,让fragment接收返回键按下的消息*/
public static class OnBackPressedMsg
{
}
Fragment中:
/*变相监听返回键*/
public void onEventMainThread(CircleActivity.OnBackPressedMsg msg)
{
/*如果可见就返回*/
if(getUserVisibleHint())
{
/*模拟返回*/
onClick(imgBtnReturn);
}
}
其中用到了EventBus进行通信。
如何在Fragment中监听返回键呢?
思路就是Fragment从属的activity监听返回键,分发给各个Fragment模拟返回键
Activity中:
@Override
public void onBackPressed()
{
/*如果我的问题 我的回答 问题详情 我要求助
* 这四个fragment处于可见的状态,就该让这些fragment处理返回键
* 调用各自的返回逻辑*/
int index = viewPager.getCurrentItem();
// switch(index){
// case MYANSWER_FRAGMENT_INDEX:
// /*调用各自fragment的返回方法,有更好的方法*/
// break;
// }
/*需要直接finish的fragment*/
if(index == COOPERATION_FRAGMENT_INDEX || index == GROUP_FRAGMENT_INDEX)
{
this.finish();
}
else //需要软返回的fragment
{
EventBus.getDefault().post(new OnBackPressedMsg());
}
}
/*定义一个消息类,让fragment接收返回键按下的消息*/
public static class OnBackPressedMsg
{
}
Fragment中:
/*变相监听返回键*/
public void onEventMainThread(CircleActivity.OnBackPressedMsg msg)
{
/*如果可见就返回*/
if(getUserVisibleHint())
{
/*模拟返回*/
onClick(imgBtnReturn);
}
}
其中用到了EventBus进行通信。
0 0
- 【填补改需求的坑】viewpager中的全屏fragment如何监听返回键
- fragment监听返回键
- Fragment监听返回键
- Fragment 监听返回键
- Fragment监听返回键
- Fragment监听返回键
- Fragment监听返回键
- 优雅的让Fragment监听返回键
- 优雅的让Fragment监听返回键
- android 在fragment中如何监听返回键,home键
- android 在fragment中如何监听返回键,home键
- android 在fragment中如何监听返回键,home键
- Fragment轻松监听返回键/Fragment中的popupwindow响应返回键隐藏
- fragment监听onBackPressed返回键
- android fragment 监听返回键
- Fragment中监听返回键
- Fragment Webview 返回键监听
- Fragment中监听返回键
- Fiddler安装配置方法抓取移动设备接口信息
- iOS之NSNotificationCenter的使用
- DEVICE_ATTR分析
- 使用Fiddler模拟客户端http响应
- RuntimeException: 获取资源ID失败:(packageName=xxx type=drawable name=umeng_xx_xx
- 【填补改需求的坑】viewpager中的全屏fragment如何监听返回键
- Python3 Tkinter::Listbox 进阶
- CSS,bootstrap表格控制当td内容过长时用省略号表示,以及在不使用bootstrap时过长也用省略号表示
- AES+JNI 加密方案
- [sed] sed 技巧记录
- iOS自定义导航栏
- 键盘的遮挡
- otrs-appliance3.3.10备份恢复
- phoenix