java - 如何解决 ViewPager 问题?

标签 java android

我正在使用android studio。 并将 ViewPager 与多个 fragment 一起使用。 但是 fragment 的“OnCreateView”、“OnResume”被调用,尽管它没有在ViewPager中被选择。 我不确定如何检测这些事件。 谢谢。

最佳答案

您可以通过以下代码简单地解决这个问题:

Java代码:

// viewpager
viewPager = (ViewPager) findViewById(R.id.viewpager);
ViewPagerAdapter viewPagerAdapter=new ViewPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(viewPagerAdapter);

// tab layout setup
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setTabTextColors(ColorStateList.valueOf(Color.WHITE));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
tabLayout.setTabMode(TabLayout.MODE_FIXED);
tabLayout.setupWithViewPager(viewPager);

地点:

public class ViewPagerAdapter extends FragmentPagerAdapter {
    public ViewPagerAdapter(FragmentManager fragmentManager) {
        super(fragmentManager);
    }

    @Override
    public Fragment getItem(int position) {
        if(position == 0) return new Request();
        if(position == 1) return new Open();
        if(position == 2) return new Closed();

        throw new IllegalStateException("Unexpected position " + position);
    }

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

    @Override
    public CharSequence getPageTitle(int position) {
        if(position == 0) return "One";
        if(position == 1) return "Two";
        if(position == 2) return "Three";
      
        throw new IllegalStateException("Unexpected position " + position);
    }
}

XML 代码:

<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/MyCustomTabLayout"
app:tabIndicatorColor="@android:color/white"
app:tabMode="fixed"
app:tabGravity="fill"
/>

关于java - 如何解决 ViewPager 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43001766/

相关文章:

android - 带有背景颜色的 TextView

android - picasso 图像加载库 : how to load video thumbnails

android - genymotion 在没有 opengl 的虚拟系统中,这可能吗?

java - Google App Engine Java 未收到电子邮件

java - Java中获取当前显示尺寸

java - 组合算法

java - 如何打印出循环发生的次数?

android - 更改 android 应用程序的所有字体

java - 不同类中的方法重载

android - 如何在每一行中创建 Listview 项目 + 按钮?