Android Fragment会将可见性更改为下一个标签

时间:2017-01-19 01:14:06

标签: android android-fragments

我在viewPager f1,f2,f3上有3个片段的活动,显示在3个不同的标签中。我想要实现的目标如下,

f3 visible -> user clicks on a button -> f2 has to be made visible
f2 visible -> user clicks on a button -> f1 has to be made visible

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

ViewPager方法setCurrentItem(int)可以成功。

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.SampleButton: {
            if (mViewPager.getCurrentItem() == 2) { // At f3
                mViewPager.setCurrentItem(1); // go to f2
            } else if (mViewPager.getCurrentItem() == 1) { // At f2
                mViewPager.setCurrentItem(0); // go to f1
            }
        }
        break;
    }
}

如果你想真正检查片段对用户是真的visible,你需要覆盖每个片段上的setUserVisibleHint。为此,请阅读此链接; https://stackoverflow.com/a/9779971