处理FragmentActivity内部的触摸

时间:2013-09-08 07:26:49

标签: android touch android-fragmentactivity

我已经使用ViewPager布局为FragmentActivity实现了滑动视图。 FragmentActivity创建了一个新的FregmentPagerAdapter来管理四个Fragment类。 我需要拦截单个触摸(无论片段当前是什么焦点)来执行操作。 我试图在FragmentActivity类中覆盖onTouchEvent,但它不起作用(可能因为FragmentActivity它只是一个容器而且所有视图都被Fragment占用)。 我能怎么做? 执行它的操作是独立于当前显示的片段。

1 个答案:

答案 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();
}