Activity不会使用viewpager检测onTouchListener

时间:2016-10-29 01:14:53

标签: android android-fragments android-viewpager ontouchlistener

好吧所以我对这个话题进行了一些研究,很多人似乎都遇到了许多“解决方案”的问题,其中没有一个对我有用......

目标: 我想要我的主要活动类(使用viewpager托管3个片段),使用ontouchevent,motevent为ACTION_DOWN。

问题: 我尝试过使用onInterceptTouchEvent(Mot..ev)方法;没有运气,我知道我可能会错误地使用它。基本上每当我点击我的pastBtn时,什么都没有返回

我的代码: (主要活动)

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_container);
    mViewPager = (ViewPager)findViewById(R.id.fragment_container);
    pastBtn = (Button)findViewById(R.id.pastBtn);



    mFragments = new ArrayList<>();
    mFragments.add(new Past_Fragment());
    mFragments.add(new zGoal_Fragment());
    mFragments.add(new Future_Fragment());

    FragmentManager fm = getSupportFragmentManager();
    mPagerAdapter = new FragmentViewer(fm);

    mViewPager.setAdapter(mPagerAdapter);
    mViewPager.setCurrentItem(1);



}

public class FragmentViewer extends FragmentPagerAdapter{

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

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

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





}

(xml(fragment_container))

 <LinearLayout android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:background="@color/main_back"
              android:orientation="horizontal"


>

    <Button
        android:id="@+id/pastBtn"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/past_btn"
        android:background="@android:color/transparent"
        android:fontFamily="sans-serif-condensed"
        android:textAllCaps="false"
        android:textColor="@color/text_color_Two"
        android:textSize="15sp"
        android:padding="10dp"
        android:text="@string/past_text"
    />

    <Button
        android:id="@+id/todayBtn"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/today_btn"
        android:background="@android:color/transparent"
        android:fontFamily="sans-serif-condensed"
        android:textAllCaps="false"
        android:textColor="@color/text_color_Two"
        android:textSize="15sp"
        android:padding="10dp"
        android:text="@string/today_text"
    />


    <Button
        android:id="@+id/futureBtn"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/future_btn"
        android:background="@android:color/transparent"
        android:fontFamily="sans-serif-condensed"
        android:textAllCaps="false"
        android:textColor="@color/text_color_Two"
        android:textSize="15sp"
        android:padding="10dp"
        android:text="@string/future_text"
    />



</LinearLayout>

使用viewPager从活动返回touchevent的“正确方法”是什么,如果使用onIntercptTouchEvent(....)是正确的方法,为什么?在这种情况下,我将如何实现它?

此外,如果我想在我的一个片段中返回touchevent,我是否也会使用此方法,因为viewpager在它后面?

0 个答案:

没有答案