好吧所以我对这个话题进行了一些研究,很多人似乎都遇到了许多“解决方案”的问题,其中没有一个对我有用......
目标: 我想要我的主要活动类(使用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在它后面?