单击固定选项卡时,将不同的片段加载到Android应用程序中

时间:2013-06-21 09:24:21

标签: java android eclipse

目前我是Android操作系统的新手,并试图了解片段 - 从iOS创建应用程序到Android,所以我需要尝试解决这个问题!

我在Eclipse IDE中使用了固定选项卡默认设置,它为我提供了3个选项卡。我可以更改标签菜单名称,但是当我尝试加载不同的片段时,可以说:fragment_1fragment_2fragment_3,当点击标题时。

我找到了这段代码:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_1, container, false);
    TextView dummyTextView = (TextView) rootView.findViewById(R.id.section_label);
    dummyTextView.setText(Integer.toString(getArguments().getInt(ARG_SECTION_NUMBER)));
    return rootView;
}

我已将布局更改为fragment_1,但如何加载fragment_x,其中x是单击的标签?这可能吗?我在网上搜索过,但到目前为止没有任何工作或有意义的事情!

2 个答案:

答案 0 :(得分:2)

由于您是通过Eclipse创建项目的,因此在主活动中,您应该看到一个名为DummySectionFragment的私有类。使用该类作为指南来创建三个类,这三个类将是您的三个不同片段(A,B和C)。

还应该有一个名为SectionsPagerAdapter的类,其方法如下

  

public Fragment getItem(int position){}

现在将getItem方法的内容更改为

public Fragment getItem(int position) {
    if (position == 0){
       return new MyFragmentA();
    }else if (position == 1){
       return new MyFragmentB();
    }else { // position == 2
       return new MyFragmentC();
    }
}

MyFragmentA/B/C是您在第一步中创建的拼写。 在进一步尝试之前,请先查看Android Fragments

答案 1 :(得分:0)

如果必须这样做,您应该为每个片段创建3个不同的片段和3个不同的布局。然后在您的Host活动中,您应该在相应的选项卡按钮上单击显示相应的片段。

请参阅this tutorial,了解如何将片段作为主机活动的一部分,并使其可见且不可见。

但是,这不是在Android中使用标签的推荐方法。直接将iOS样式选项卡移植到Android将导致较差的用户体验。标签应该是ActionBar的一部分,或者您可以使用ViewPager实现标签式滑动视图。

有关详情,请参阅design guidelines