通过Swiping Android Java切换屏幕/活动

时间:2014-05-06 08:57:06

标签: java android listview swipe detection

我有一个具有不同屏幕/活动的应用程序。目前它工作正常,但我有一个上一个和下一个按钮。我将删除此按钮,并使用滑动移动到前一个“说”。我在互联网上发现了很多东西,关于动作检测的东西,但它不适用于我的listview。当我在textview上滑动时,它工作正常,但是当我使用listview将相同的代码放入我的代码中时,它不会再检测到任何内容。

有人能帮助我吗?

在我自己的代码中,我使用:ListAdapter,onItemClick和公共View getView将一些图像和textview放在我的listview中。

onTouchEvent对我的listview不起作用。

public boolean onTouchEvent(MotionEvent touchevent) {
    switch (touchevent.getAction()) {
        // when user first touches the screen we get x and y coordinate
        case MotionEvent.ACTION_DOWN: {
            x1 = touchevent.getX();
            y1 = touchevent.getY();
            break;
        }
        case MotionEvent.ACTION_UP: {
            x2 = touchevent.getX();
            y2 = touchevent.getY();

            // if left to right sweep event on screen
            if (x1 < x2) {
                Toast.makeText(this, "Left to Right Swap Performed", Toast.LENGTH_LONG).show();
            }

            // if right to left sweep event on screen
            if (x1 > x2) {
                Toast.makeText(this, "Right to Left Swap Performed", Toast.LENGTH_LONG).show();
            }

            // if UP to Down sweep event on screen
            if (y1 < y2) {
                Toast.makeText(this, "UP to Down Swap Performed", Toast.LENGTH_LONG).show();
            }

            // if Down to UP sweep event on screen
            if (y1 > y2) {
                Toast.makeText(this, "Down to UP Swap Performed", Toast.LENGTH_LONG).show();
            }
            break;
        }
    }
    return false;
}

更新

但我发现的一切都是不同的课程。在示例中,他们使用fragment1.javafragment2.javafragment3.java。但我只有我的main_activity.java并且这些正在运行,当我点击我的下一个按钮时,它会重新加载主要活动,并一次又一次地显示其他信息。直到我的柜台最大化

2 个答案:

答案 0 :(得分:0)

使用ViewPager代替手动执行所有触摸计算。 这将为您提供ViewPager窗口小部件的概述:http://developer.android.com/reference/android/support/v4/view/ViewPager.html

答案 1 :(得分:0)