片段内的片段

时间:2012-03-23 19:13:46

标签: android android-fragments android-actionbar

是否有任何帮助,资源,示例或教程可用于将片段放入片段中?

我使用操作栏导航选项卡放置了两个选项卡,这些选项卡基本上是片段。我想要做的是,在其中一个Action Bar Navigation标签片段中放入ListFragment和DialogFragment(以显示包含详细信息的视图)。

可能的?请帮忙。感谢

这是我到目前为止所做的事情:

  1. 关注Android在Action Bar上实现导航标签的文章,并实现了一个双标签操作栏,运行正常,我可以显示两种不同的布局。
  2. 在其中一个标签中,我想显示一个Fragmented视图,为此我创建了一个FragmentList类,其中包含自定义ArrayAdapter和数据项,数据详细信息布局和类。
  3. 我现在停留在如何在标签内显示片段。以下是显示第一个选项卡内容的代码,如何修改它以正确初始化列表片段?
  4. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    {
    
        View viewer = (View) inflater.inflate(R.layout.doodle_list, container,false);
        return viewer;
    }
    

2 个答案:

答案 0 :(得分:1)

  

是否有任何帮助,资源,示例或教程可用于将片段放入片段中?

不支持片段内的片段。

Android 4.2+支持片段内的片段,并通过Android支持包的片段后端口支持片段。我仍然希望尽可能避免它。

  

我使用操作栏导航选项卡放置了两个选项卡,这些选项卡基本上是片段。

你选择这样做。 要求使用片段的操作栏标签没有任何内容。

答案 1 :(得分:0)

我解决了这个问题。您可以使用支持库和ViewPager。如果您不需要通过手势滑动,则可以禁用滑动。所以这里有一些代码来改进我的解决方案:

public class TestFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.frag, container, false);
    final ArrayList<Fragment> list = new ArrayList<Fragment>();

    list.add(new TrFrag());
    list.add(new TrFrag());
    list.add(new TrFrag());

    ViewPager pager = (ViewPager) v.findViewById(R.id.pager);
    pager.setAdapter(new FragmentPagerAdapter(getActivity().getSupportFragmentManager()) {
        @Override
        public Fragment getItem(int i) {
            return list.get(i);
        }

        @Override
        public int getCount() {
            return list.size();
        }
    });
    return v;
}

}

P.S.这是一个难看的测试代码,但它改善了它的可能性。