启动应用程序时如何启动多个片段

时间:2016-10-10 15:53:04

标签: android android-fragments

我有四个片段,每个片段都有一个TextView。

  1. 我想为每个片段的TextView启动所有片段和setText(该活动一次只显示一个片段)。

  2. 在片段之间切换而不删除它。 我试过setText,但如果我没有显示片段,它会给出空指针异常。

  3. 我使用BottomBar在片段之间切换。 我是android新手,我的英语技能不好。谢谢:D

2 个答案:

答案 0 :(得分:1)

您可以使用FragmentPagerAdapter

如文档(and an example from Google)中所述:

  

PagerAdapter的实现,将每个页面表示为片段   只要用户,它就一直保存在片段管理器中   可以返回页面。

     

此版本的寻呼机最适合在少数人使用时使用   通常会有更多静态片段被分页,例如一组   标签。用户访问的每个页面的片段将保留在其中   内存,虽然它的视图层次结构可能在不可见时被销毁。   这可能导致自片段以来使用大量内存   实例可以保持任意数量的状态。对于较大的集合   的页面,请考虑FragmentStatePagerAdapter。

请注意,根据底栏包含的标签数量,您的活动可能需要大量内存;)

代码路径中非常完整的guide也可以为您提供很多帮助:

  • 定义碎片
  • 设置FragmentPagerAdapter
  • 应用适配器
  • 选择或获取页面
  • 设置OnPageChangeListener

所有这些主题都以一个例子来解释。

关于BottomBar你有一个非常好的例子here on StackOverflow

希望它有所帮助! =)

答案 1 :(得分:1)

尝试使用 ViewPager and FragmentStatePagerAdapter here

尝试使用以下代码更改按钮上的片段

 Button buttonNext= (Button)findViewById(R.id.buttonNext);//button in Bottombar
            buttonNext.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    vPager.setCurrentItem(1, true);

                }
            }); 

了解有关viewpager

的更多信息