【问题标题】:Two fragments in one page of ViewPagerViewPager 的一页中有两个片段
【发布时间】:2017-05-18 21:45:31
【问题描述】:

我正在寻找我的问题的解决方案。我必须使用 3 个片段制作应用程序 - 就像图片上一样。 Picture of layout 我正在使用 ViewPager 来获得所需的可滑动标签。但是有一个问题——我不能在 ViewPager 的一页中设置两个片段。

public class ProgrammingLanguageInfo extends FragmentActivity{

private String languageName;
private int languageImageID;
private String languageDescription;
private String SHARED_PREFERENCES;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view_pager);
    languageName = getIntent().getStringExtra("LANGUAGE_NAME");
    languageImageID = getIntent().getIntExtra("LANGUAGE_IMAGE", 0);
    languageDescription = getIntent().getStringExtra("LANGUAGE_DESCRIPTION");
    SHARED_PREFERENCES = getIntent().getStringExtra("LANGUAGE_SHARED_PREFERENCES");

    ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
    pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
}

private class MyPagerAdapter extends FragmentPagerAdapter {
    public MyPagerAdapter(FragmentManager fm) {
        super(fm);

    }

    @Override
    public Fragment getItem(int pos) {
        if(pos==0){
            return FirstFragment.newInstance(languageName, languageImageID, languageDescription, SHARED_PREFERENCES);
        }
        else{
            return SecondFragment.newInstance("aaa");
        }
    }

    @Override
    public int getCount() {
        return 2;
    }
}

问题出在函数getItem(int pos)上。在第 0 页上,一切正常 - 有一个片段要显示。但是如何在 ViewPager 的下一页显示两个片段呢?我无法从此函数返回两个片段。

【问题讨论】:

  • 您是否尝试过在您的 XML 浏览器代码中定位? android:orientation="vertical"

标签: android android-fragments android-viewpager


【解决方案1】:

【讨论】:

  • 您好,谢谢您的回复!不幸的是,在本教程中,ViewPager 的页面上一次只有一个片段。就我而言,问题是在一页上同时有两个片段。不过还是谢谢!
  • 嘿,很抱歉回答错误。不过,我想在这种情况下,您必须为“第二个寻呼机项目”创建三个片段。一个将作为父/容器工作,其中其他两个片段将作为子片段/框架布局。从您的 Pager Main 方法中,您将调用“父片段”的实例,该父片段中将有两个片段。
【解决方案2】:

作为解决方案,您需要制作一个包含 2 个片段的片段作为子片段,而不是调用 getSupportedFragment

getChildFragmentManager()

以及创建和显示片段的其他部分 制作一个应该使用两个容器供片段使用的 xml

最后将上述片段返回为 2secon 片段

【讨论】:

  • 好的,我会尝试这样做并反馈进展情况:)
猜你喜欢
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-18
  • 1970-01-01
相关资源
最近更新 更多