我刚刚开始学习Android开发,目前正在关注新闻博斯顿的Android教程。我不知道为什么会出现这个错误:
Error:(10, 8) error: MainActivity is not abstract and does not override abstract method onFling(MotionEvent,MotionEvent,float,float) in OnGestureListener下面是我的代码:
package com.example.gonzales.gestures;
import android.gesture.Gesture;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.os.Bundle;
import android.widget.TextView;
import android.view.MotionEvent;
import android.view.GestureDetector;
import android.support.v4.view.GestureDetectorCompat;
//the error is because of this
public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener,
GestureDetector.OnDoubleTapListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}这几乎与本教程中的代码完全相同。任何帮助都将不胜感激。谢谢!
发布于 2016-12-19 22:29:37
你已经声明你已经实现了接口,这迫使你实现这些接口的方法,但你还没有实现。
作为处理即时错误的最低要求,您需要实现:
onFling(MotionEvent, MotionEvent, float, float)但一旦完成,您可能会发现还有更多。
如果您不能立即理解上面的内容,那么您应该首先阅读Java和OOP中的继承和接口,而不是试图在症状显现时修复它们。你可以启动here。
发布于 2016-12-19 22:29:51
以下任一项:
implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener或OnGestureListener和the OnDoubleTapListener接口所需的方法
现在,您已经说了“是的,Java,我将实现这两个接口所需的所有方法”……而不实际实现这两个接口所需的所有方法。
您可以在the Java documentation中阅读有关Java接口的更多信息。
发布于 2016-12-19 22:29:51
因为您必须实现onFling方法。
尝试以下代码:
package com.example.gonzales.gestures;
import android.gesture.Gesture;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.os.Bundle;
import android.widget.TextView;
import android.view.MotionEvent;
import android.view.GestureDetector;
import android.support.v4.view.GestureDetectorCompat;
//the error is because of this
public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener,GestureDetector.OnDoubleTapListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onFling(MotionEvent,MotionEvent,float,float){
//Do stuff with your fling event
}
}https://stackoverflow.com/questions/41224713
复制相似问题