onSwipe(int direction)无法正常工作

时间:2013-03-25 14:25:24

标签: android swipe-gesture

我无法覆盖onSwipe()方法。错误是“Adds类型的onSwipe(int)方法必须覆盖或实现超类型方法”。谁能告诉我我做错了什么?我想使用滑动手势在活动之间导航。还有其他办法吗?如果是这样请解释。我是否必须再导入包裹?

package com.mahavega.qcdemo;

import com.mahavega.qcdemo.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;

public class Adds extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ads);
        TextView tv1 = (TextView) findViewById(R.id.textView1);
        tv1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                startActivity(new Intent(Adds.this, Ads2.class));
            }
        });
        ImageView im1 = (ImageView) findViewById(R.id.imageView1);
        im1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                startActivity(new Intent(Adds.this, Real.class));
            }
        });
    }
    @Override
    public void onSwipe(int direction) {
        Intent intent = new Intent();

        switch (direction) {
        case SimpleGestureFilter.SWIPE_RIGHT:
            intent.setClass(this, Ads2.class);
            break;

        case SimpleGestureFilter.SWIPE_LEFT:
            intent.setClass(this, Ads3.class);
            break;
        }

        startActivity(intent);
    }
}

2 个答案:

答案 0 :(得分:2)

您的活动应该实现SimpleonGestureListener以便能够接收手势事件。

public class Adds extends Activity implements OnGestureListener

答案 1 :(得分:0)

您的错误是从Activity没有onSwipe(int)方法的事实中读取的。所以错误是声明你不能覆盖没有超级方法的方法。 同样如@sokie所说,从他添加的链接中查看OnGestureListener。对于用于启动新活动的滑动手势, 当从左向右滑动时,覆盖调用onBackPressed(就像你要回去一样)并从右向左滑动开始新的活动。虽然这意味着您必须在每个活动中创建手势监听器。