如何使用'实现' Android Studio中的功能

时间:2016-12-19 14:25:44

标签: java android android-studio

我刚开始学习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);
}
}

这几乎是教程中的确切代码。任何帮助将非常感激。谢谢!

3 个答案:

答案 0 :(得分:1)

您已声明已实现接口,这就要求您实现这些接口的方法,而这些方法尚未完成。

作为处理即时错误的最低要求,您需要实现:

test$

但你可能会发现有更多的事情已经完成。

如果您没有立即理解上述内容,那么您应该首先阅读Java和OOP中的继承和接口,而不是尝试修复它们显示的症状。你可以开始here

答案 1 :(得分:1)

或者:

就目前而言,你已经说过了,是的,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
    }
}