如何获得当前显示的片段?>>> import os>>> print os.nameposix>>> import platform>>> platform.system()'Linux'>>> platform.release()'2.6.22-15-generic'.的输出platform.system()如下:Linux:Linux麦克:Darwin窗户:Windows见:平台-访问底层平台的标识数据我在玩Android的片段。我知道我可以通过使用以下代码来更改片段:FragmentManager fragMgr = getSupportFragmentManager();FragmentTransaction fragTrans = fragMgr.beginTransaction();MyFragment myFragment = new MyFragment(); //my custom fragmentfragTrans.replace(android.R.id.content, myFragment);fragTrans.addToBackStack(null);fragTrans.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);fragTrans.commit();我的问题是,在Java文件中,如何获得当前显示的片段实例?
3 回答
莫回无
TA贡献1865条经验 获得超7个赞
onBackStackChanged()
@Override
public void onBackPressed() {
super.onBackPressed();
Fragment f = getActivity().getFragmentManager().findFragmentById(R.id.fragment_container);
if(f instanceof CustomFragmentClass)
// do something with f
((CustomFragmentClass) f).doSomething();
}
浮云间
TA贡献1829条经验 获得超4个赞
public Fragment getVisibleFragment(){
FragmentManager fragmentManager = MainActivity.this.getSupportFragmentManager();
List<Fragment> fragments = fragmentManager.getFragments();
if(fragments != null){
for(Fragment fragment : fragments){
if(fragment != null && fragment.isVisible())
return fragment;
}
}
return null;}- 3 回答
- 0 关注
- 471 浏览
添加回答
举报
0/150
提交
取消
