当我在片段中覆盖此方法时,它显示错误,如
方法dispatchTouchEvent(MotionEvent)未定义类型Fragment
这是我创建的片段.....
public class ChatterContainerFragment extends Fragment implements
SimpleGestureListener {
}
在这我试图覆盖......
@Override
public boolean dispatchTouchEvent(MotionEvent me) {
// Call onTouchEvent of SimpleGestureFilter class
this.detector.onTouchEvent(me);
return super.dispatchTouchEvent(me);
}
当我在FragmentActivity中覆盖时,它的工作正常。 但对于片段,它不起作用。
请帮帮我。
谢谢!
答案 0 :(得分:1)
有两种方法可以做到,
1)创建视图后,您可以在片段视图上添加TouchListener
。这是最简单的方法。
2)您知道片段已附加到活动,因此您可以覆盖活动中的dispatchTouchEvent
方法并从中传递操作。像这样,
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
MyFragment myFragment = (MyFragment) getFragmentManager().findFragmentByTag("FRAGMENT_TAG");
myFragment.doSomething();
return super.dispatchTouchEvent(ev);
}
<强>更新强>
您需要执行此操作以从活动
访问Dragment方法ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentById(R.id.example_fragment);
fragment.<specific_function_name>();