我刚开始学习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);
}
}
这几乎是教程中的确切代码。任何帮助将非常感激。谢谢!
答案 0 :(得分:1)
您已声明已实现接口,这就要求您实现这些接口的方法,而这些方法尚未完成。
作为处理即时错误的最低要求,您需要实现:
test$
但你可能会发现有更多的事情已经完成。
如果您没有立即理解上述内容,那么您应该首先阅读Java和OOP中的继承和接口,而不是尝试修复它们显示的症状。你可以开始here。
答案 1 :(得分:1)
或者:
删除implements GestureDetector.OnGestureListener,
GestureDetector.OnDoubleTapListener
或
就目前而言,你已经说过了,是的,Java,我将实现这两个接口所需的所有方法,而不是实际实现这两个接口所需的所有方法。 / p>
您可以在the Java documentation中阅读有关Java接口的更多信息。
答案 2 :(得分:0)
因为你必须实现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
}
}