0

我无法覆盖 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);
    }
}
4

2 回答 2

3

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

public class Adds extends Activity implements OnGestureListener
于 2013-03-25T14:30:53.247 回答
0

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

于 2013-03-25T14:48:59.810 回答