0

如何使用 Motion Event 进行滑动。我用edittext 和checkedBox 自定义了列表视图。我曾经使用 setOnTouchListener 滑动列表视图的特定项目。

** switch (motionEvent.getAction() & MotionEvent.ACTION_MASK) {
                        case MotionEvent.ACTION_MOVE:

                        //  mgr.hideSoftInputFromWindow((IBinder) textView, InputMethodManager.SHOW_FORCED);

                   //   inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus()    .getWindowToken(), 0);
                        float delta = motionEvent.getRawX();
                     float deltaX = motionEvent.getRawX() - mDownX;
                                if (Math.abs(deltaX) > mSlop) {
                                    // A swipe occurred, do something
                                     Toast.makeText(getApplicationContext(), "Down", Toast.LENGTH_SHORT).show();

                                }


                        break;
                    case MotionEvent.ACTION_DOWN:

                            break;

                 }
                return false;
            }**

通过使用此代码,我无法获得滑动动作。谁能指导我如何使用 editText 滑动列表视图

4

2 回答 2

0

我使用以下代码检测列表视图行上的 aswipe

public class GestureListener extends SimpleOnGestureListener {

    private final int SWIPE_MIN_DISTANCE = 120;
    private final int SWIPE_THRESHOLD_VELOCITY = 2000;

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
            float velocityY) {

        if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
                && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
            System.out.println("flingggggggggg");
            // mSlideoutHelper.close();

            return true;
        }

        return false;
    }
}

您将覆盖更多方法以准备好它。

final GestureDetector gdt = new GestureDetector(new GestureListener());

    yourListview.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return gdt.onTouchEvent(event);
        }
    });

希望它可以帮助你。

于 2013-08-10T10:35:06.620 回答
0

参考这个例子。

这是很好解释的演示,可能有用并解决您的问题..

于 2013-08-10T09:18:43.140 回答