Есть ли способ остановить фрагмент 1, идущий к фрагменту 2, когда я проведу? - PullRequest
0 голосов
/ 09 мая 2019

есть ли способ остановить фрагмент 1, идущий к фрагменту 2, когда я проведу пальцем вправо / влево Недавно я заметил, что если я проведу пальцем влево, мой фрагмент изменится с 1 на 2.

Я искал в Интернете, но не смог найти ответ

Edit:

Мой код для адаптера

    public ViewPager viewPager;
    private ViewPagerAdapter adapter



    adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.AddFragment(new Fragment_Sign_In_To_Firebase(), "Firebase Sign In");
    adapter.AddFragment(new Fragment_Create_Account(), "Create Account");
    adapter.AddFragment(new Fragment_Verify_Email(), "Verify Email");


    viewPager = (ViewPager) findViewById(R.id.viewpager_id_chat);
    viewPager.setAdapter(adapter);
    viewPager.arrowScroll(View.FOCUS_RIGHT);

Класс ViewPaggerAdapter:

public class ViewPagerAdapter extends FragmentPagerAdapter {

private final List<Fragment> lstFragment = new ArrayList<>();
private final List<String> lstTitles = new ArrayList<>();

public ViewPagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int position) {
    return lstFragment.get(position);
}

@Override
public int getCount() {
    return lstTitles.size();
}

@Override
public CharSequence getPageTitle(int position) {
    return lstTitles.get(position);
}

public void AddFragment(Fragment fragment, String title) {
    lstFragment.add(fragment);
    lstTitles.add(title);
}
}

1 Ответ

1 голос
/ 09 мая 2019

Как я вижу, у вашего вопроса нет правильного запроса на то, что вы ищете, я думаю, вы говорите о ViewPager

 public class CustomViewPager extends ViewPager {

    private boolean enabled;

    public CustomViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.enabled = true;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (this.enabled) {
            return super.onTouchEvent(event);
        }

        return false;
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
        if (this.enabled) {
            return super.onInterceptTouchEvent(event);
        }

        return false;
    }

    public void setPagingEnabled(boolean enabled) {
        this.enabled = enabled;
    } }

Используйте это в своем XML

<mypackage.CustomViewPager 
    android:id="@+id/myViewPager" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" />

ИЛИ ПРОСТО ДОБАВИТЬ ЭТУ ЛИНИЮ

myViewPager.beginFakeDrag();
...