我在Android中玩片段.
我知道我可以使用以下代码更改片段:
FragmentManager fragMgr = getSupportFragmentManager();
FragmentTransaction fragTrans = fragMgr.beginTransaction();
MyFragment myFragment = new MyFragment(); //my custom fragment
fragTrans.replace(android.R.id.content, myFragment);
fragTrans.addToBackStack(null);
fragTrans.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
fragTrans.commit();
Run Code Online (Sandbox Code Playgroud)
我的问题是,在Java文件中,如何获取当前显示的Fragment实例?
我使用的是ViewPager连同FragmentStatePagerAdapter主办三个不同的片段:
当我想Fragment1从ViewPager在FragmentActivity.
有什么问题,我该如何解决?
我正在使用支持库v4,我的问题是,如何知道片段是否可见?如何更改碎片中膨胀的布局的属性?提前致谢.
- -编辑 - -
我在使用FragmentActivity的android开发人员教程中使用片段
我有一个FragmentActivity,一些片段和一个在后台运行的服务.如果特定片段可见,可以从服务中检查?
我使用单个活动并将多个片段嵌入其中。现在我想知道在单个活动类中,当前正在显示哪个片段。我怎样才能做到这一点?我从这里查看了解决方案How to Know if a Fragment is Visible?
MyFragmentClass test = (MyFragmentClass) getSupportFragmentManager().findFragmentByTag("testID");
if (test != null && test.isVisible()) {
//DO STUFF
}
else {
//Whatever
}
Run Code Online (Sandbox Code Playgroud)
但我不知道你的参数是什么"testID"。此外,我尝试从获取当前片段对象中实现解决方案
Fragment currentFragment = getActivity().getFragmentManager().findFragmentById(R.id.fragment_container);
Run Code Online (Sandbox Code Playgroud)
但在这里我收到错误消息:“无法解析符号‘fragment_container’”
有谁知道如何获取使用单个活动和多个片段方法时显示的当前片段的名称?