我正在尝试控制片段中的OnTouchListener(向上和向下)。我实现了setOnTouchListener
方法,但它无效。
我只想展示一个" Up"发生上翘时吐司,或者#34; Down"发生下滑时敬酒。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.strada_chefs_1, container,
false);
rootView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (MotionEventCompat.getActionMasked(event)) {
case MotionEvent.ACTION_UP:
Toast.makeText(getActivity(), "Up", Toast.LENGTH_SHORT)
.show();
break;
case MotionEvent.ACTION_DOWN:
Toast.makeText(getActivity(), "down", Toast.LENGTH_SHORT)
.show();
break;
default:
break;
}
return false;
}
});
答案 0 :(得分:1)
尝试在onTouch
回拨中返回 true 。如果您返回 false ,则表示该事件应由其他人处理。 OnTouch事件包括向下移动,如果OnTouchListener
在任何时候返回 false ,则事件的其余部分将在其他位置处理,而不是由OnTouchListener
处理。您的代码会收到ACTION_DOWN
,但由于它返回 false ,因此该事件的其余部分将在其他位置进行处理。