android fragment onHiddenChanged的使用
昨天,我看公司app的代码时,发现了onHiddenChanged的代码,刚开始我不知道是用来做什么的,后来在网上搜索了一下资料,也终于弄懂了。项目中,为了实现不同fragment之间值得传递,首先想到的是利用bundle或者shareprefercnce之类的共享数据机制,当不符合项目需求,有点过于复杂和冗余,就利用网上一位前辈的建议,在主Activity中,创建一个共享
onHiddenChanged的代码,刚开始我不知道是用来做什么的,后来在网上搜索了一下资料,也终于弄懂了。
项目中,为了实现不同fragment之间值得传递,首先想到的是利用bundle或者shareprefercnce之类的共享数据机制,当不符合项目需求,有点过于复杂和冗余,就利用网上一位前辈的建议,在主Activity中,创建一个共享的数据变量,在其他fragment中只要获取到这个值就可以得到数据,实现共享,代码如下:
主activity定义一个共享数据变量:
private String instrName;
public String getInstrName() {
return instrName;
}
public void setInstrName(String instrName) {
this.instrName = instrName;
}
在其他fragment中使用如下语句即可得到该数据:
String instrName = ((MainActivity)getActivity()).getInstrName();
这个是简单的fragment与activity之间的传值,但是在我们的项目里,一般主界面是多个fragment,当我们在fragment之前切换时,我们会把之前的fragment隐藏,显示后面的fragment。当fragment隐藏时,就可以调用onHiddenChanged,来做一些事情。
@Override
public void onHiddenChanged(boolean hidd) {
if (hidd) {
//隐藏时所作的事情
} else {
//显示时所作的事情
}
fragment的隐藏监听就这么简单。
更多推荐
所有评论(0)