在我的 Fragment 类中,我使用 XML 布局来扩展我的片段。布局是一个简单的线性布局,其中包含一个 ImageView(轮子)。我想得到发生在我的 ImageView 上的触摸事件,这里是代码:
public class WheelFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment (Get the view from XML)
View view = inflater.inflate(R.layout.wheel_layout, container, false);
// Get the imageview of the wheel inside the view
ImageView wheelView = (ImageView) view.findViewById(R.id.wheel);
// Set onTouchListener
wheelView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
Log.d("down", "ACTION_DOWN");
}
if (event.getAction() == MotionEvent.ACTION_UP) {
Log.d("up", "ACTION_UP");
}
}
return true;
}
});
// Return the view
return view;
}
}
获取 ACTION_DOWN 事件没有问题,但无法获取 ACTION_UP 事件。
我尝试添加一个没有帮助的 ACTION_CANCEL 事件(我在论坛上看到它可能会解决问题)。
我也尝试过返回 true/false 值。
有什么简单的方法可以让 ACTION_UP 事件正常工作吗?谢谢。