【问题标题】:Way to include two fragment in one fragment in android在android中的一个片段中包含两个片段的方法
【发布时间】:2013-11-26 23:29:46
【问题描述】:

目前有两个片段:一个用于添加图像视图、文本视图的区域。 另一个是列表片段

我想将两者都包含在一个片段中,这意味着区域片段位于列表片段的顶部,但是,它们是两个类,因此如何包含它们,或者我需要将代码重新排列为一个上课?

另外,如何将列表片段更改为片段?(因为 setadapter 和 onclick 事件在片段类中不可用)。谢谢。

代码示例:列表片段部分

public class SlidingMenuListFragment extends ListFragment {
    protected List<SlidingMenuListItem> slidingMenuList;
    private SlidingMenuBuilderBase slidingMenuBuilderBase;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                    Bundle savedInstanceState) {
            // We set here a custom layout which uses holo light theme colors.
            return inflater.inflate(R.layout.sliding_menu_holo_light_list, null);
    }

    public void onActivityCreated(Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);

            // We get a list from our specially created list data class.
            slidingMenuList = SlidingMenuList.getSlidingMenu(getActivity());
            if (slidingMenuList == null)
                    return;

            // We pass our taken list to the adapter.
            SlidingMenuListAdapter adapter = new SlidingMenuListAdapter(
                            getActivity(), R.layout.sliding_menu_holo_light_list_row, slidingMenuList);
            setListAdapter(adapter);
    }

    // We could define item click actions here, but instead we want our builder
    // to be responsible for that.
    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
            super.onListItemClick(l, v, position, id);
            l.setSelection(position);
            SlidingMenuListItem item = slidingMenuList.get(position);
            slidingMenuBuilderBase.onListItemClick(item);
    }

    // We can not provide a builder as an argument inside a fragment
    // constructor, so that is why we have separate method for that.
    public void setMenuBuilder(SlidingMenuBuilderBase slidingMenuBuilderBase) {
            this.slidingMenuBuilderBase = slidingMenuBuilderBase;
    }

【问题讨论】:

    标签: android android-layout android-fragments fragment android-listfragment


    【解决方案1】:

    自 Android 4.2 起,您可以使用Nested Fragments。 对于旧版本,您应该使用Support Library

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 2021-06-13
      • 2017-05-26
      • 1970-01-01
      • 1970-01-01
      • 2017-05-24
      • 1970-01-01
      相关资源
      最近更新 更多