首页 > 解决方案 > viewpager 不允许向左滑动

问题描述

因此,如果我有三个 Fragment A、B 和 C。所以当我启动 Fragment BI 时,希望 viewpager 让我从 LEFT 滑动到 RIGHT,它应该带我回到 Fragment A,但 viewpager 默认让我从 RIGHT 滑动到向左转到片段 A。

所以基本上我想让viewpager让我从左滑到右,而不是从右滑到左。

我也尝试过: viewpager.setRotationY=180 这确实让我可以做我想做的事,但我的 Fragments 中的所有内容都会颠倒过来。

我正在使用的适配器:


import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import org.jetbrains.annotations.NotNull;

public class Adapter  extends FragmentPagerAdapter {

    public Adapter(FragmentManager fragmentManager){
        super(fragmentManager);

    }
    @NonNull
    @NotNull
    @Override
    public Fragment getItem(int position) {
        if(position==0){

            return new SettingsFragment();
        }
        if(position==1){

            return new BlankFragment();
        }
        if(position==2){
            return new VersionFragment();
        }
            return null;
        }


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

我使用适配器的活动:


public class SettingsActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);
        Fragment fr=new Fragment();
        getSupportFragmentManager().beginTransaction().addToBackStack(null).add(fr,"settings_fragment").commit();
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                ViewPager viewPager=findViewById(R.id.ViewPager);
                viewPager.setCurrentItem(1);
                viewPager.setAdapter(new Adapter(getSupportFragmentManager()));
                viewPager.setOffscreenPageLimit(1);

            }
        });


    }
}

标签: androidandroid-fragmentsandroid-viewpager

解决方案


我认为您的代码误导了您,因为您使用ViewPagerviewPager.setCurrentItem(1);之前不会像您预期的那样setAdapter(...)转到第 1项。

所以,试着把它放在viewPager.setCurrentItem(1);后面setAdapter(...)


推荐阅读