我已经使用ViewPager布局为FragmentActivity实现了滑动视图。 FragmentActivity创建了一个新的FregmentPagerAdapter来管理四个Fragment类。 我需要拦截单个触摸(无论片段当前是什么焦点)来执行操作。 我试图在FragmentActivity类中覆盖onTouchEvent,但它不起作用(可能因为FragmentActivity它只是一个容器而且所有视图都被Fragment占用)。 我能怎么做? 执行它的操作是独立于当前显示的片段。
答案 0 :(得分:0)
我的主要内容是你创建自己的View类,实现OnTouchListener,例如:
public class TouchMeView extends View implements OnTouchListener {
public TouchMeView(Context context) {
super(context);
setFocusable(true);
setFocusableInTouchMode(true);
this.setOnTouchListener(this);
}
public boolean onTouch(View view, MotionEvent event) {
//IMPLEMENT YOUR ACTION WITHIN THIS METHOD
return true;
}
}
请注意,我没有测试此代码,希望您可以自行修改。
编辑:忘记添加 - 您应该在FragmentActivity的onCreate(...)方法中将此类的实例附加到您的布局:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//...
paintView = new PaintView(this);
addContentView(paintView, null);
paintView.requestFocus();
}