我无法覆盖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);
}
}
答案 0 :(得分:2)
您的活动应该实现SimpleonGestureListener以便能够接收手势事件。
public class Adds extends Activity implements OnGestureListener
答案 1 :(得分:0)
您的错误是从Activity没有onSwipe(int)方法的事实中读取的。所以错误是声明你不能覆盖没有超级方法的方法。 同样如@sokie所说,从他添加的链接中查看OnGestureListener。对于用于启动新活动的滑动手势, 当从左向右滑动时,覆盖调用onBackPressed(就像你要回去一样)并从右向左滑动开始新的活动。虽然这意味着您必须在每个活动中创建手势监听器。