如何获得当前显示的片段?>>> 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 关注
- 430 浏览
添加回答
举报
0/150
提交
取消