Android setOnTouchListener无法处理片段

时间:2014-06-24 09:25:59

标签: android fragment ontouchlistener

我正在尝试控制片段中的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;
        }
    });

1 个答案:

答案 0 :(得分:1)

尝试在onTouch回拨中返回 true 。如果您返回 false ,则表示该事件应由其他人处理。 OnTouch事件包括向下移动,如果OnTouchListener在任何时候返回 false ,则事件的其余部分将在其他位置处理,而不是由OnTouchListener处理。您的代码会收到ACTION_DOWN,但由于它返回 false ,因此该事件的其余部分将在其他位置进行处理。