android-将containerViewId中的片段添加到ViewPager中的片段

phse

我面临以下问题:

MainActivity主要是ViewPager我可以在其中滑动卡片(Fragment)的地方。该卡具有占位符ViewGroupFragment在运行时在其中放置了其他内容()。问题在于内容仅放置在一张卡中。

主要活动

public class MainActivity extend FragmentActivity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // ...
        // init ViewPager
        getViewPager().setAdapter(new CardSelectionAdapter(getSupportFragmentManager()));
    }

    // ...

    private class CardSelectionAdapter extends FragmentPagerAdapter {
        // ...

        public Fragment getItem(int position) {
            return new CardFragment(someData);
        }
    }
}

卡片段

public class CardFragment extends Fragment {

     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.card, container, false);
        rootView.findViewById(R.id.actionSheet).setVisibility(View.GONE);
        return rootView;
    }

    public void populate() {
        // ...

        Fragment f;
        switch (type) {
            case TYPE_A: f = new ActionsAFragment(); break;
            case TYPE_B: f = new ActionsBFragment(); break;
            default: f = null;
        }

        if (f != null) {
            // Here should be the main problem when adding Fragment to container/placeholder
            getFragmentManager().beginTransaction().add(R.id.actionSheet, f).commit();
            getView().findViewById(R.id.actionSheet).setVisibility(View.VISIBLE);

        }
    }
}

我想是因为所有的牌都属于MainActivityFragmentTransaction只能添加到一个ViewGroupid R.id.actionSheet

还有另一种方法可以将具有相同ID的内容添加到布局中吗?

格雷格·恩尼斯(Greg Ennis)

我看不到你要去哪里populate您应该更改populate为接受父视图(而不是每次都将片段添加到R.id.actionsheet中)并从中调用它onCreateView并将其传递给刚创建的视图。这样,您就不会在具有相同ID的actionSheet中使用多个视图时遇到问题。但是,有太多代码丢失了,我不确定在这里做什么。

顺便说一句,当处理嵌套的片段-时populate,应使用getChildFragmentManager()代替getFragmentManager()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android将TextViews添加到片段中

来自分类Dev

在Android中使用ViewPager将子片段添加到父片段

来自分类Dev

Android:片段或活动中的tablayout / viewpager片段

来自分类Dev

Android-将标签添加到片段

来自分类Dev

如何将包添加到 Android 片段

来自分类Dev

Android中的片段和ViewPager

来自分类Dev

如何将viewpager放在android中的片段中?

来自分类Dev

在Android上的ViewPager中替换当前片段

来自分类Dev

Android片段未添加到Back Stack

来自分类Dev

Android ViewPager:更新屏幕外但在ViewPager中缓存的片段

来自分类Dev

viewpager中的Android TextView-如何将文本写入MainActivity的片段中

来自分类Dev

片段中的Android添加标签

来自分类Dev

在Android片段中的按钮上添加onTouchListener

来自分类Dev

在Android中的FrameLayout上添加片段

来自分类Dev

片段中的Android添加标签

来自分类Dev

在Android片段中的按钮上添加onTouchListener on

来自分类Dev

在Android中向片段添加列表

来自分类Dev

使用ViewPager滑动视图将地图添加到片段中

来自分类Dev

Android片段中的onNewIntent

来自分类Dev

片段中的Android MapView

来自分类Dev

Android中片段的行为

来自分类Dev

片段中的Android WebView

来自分类Dev

Android编程中的片段

来自分类Dev

Android中片段的行为

来自分类Dev

将图标添加到Android中TabLayout中的标签

来自分类Dev

带有 recyclerview 的 Android viewpager 在片段中不起作用

来自分类Dev

如何用ViewPager中的另一个片段替换Android片段?

来自分类Dev

将输入约束添加到Android中的“编辑文本”?

来自分类Dev

使用for循环将EditText添加到android中的布局