JAVA android Studio 方法未覆盖其超类

JAVA android Studio method does not overridefrom its superclass

我是 Java 开发的初学者。 我想知道为什么我有错误

"method does not overridefrom its superclass" on the @override declaration.

这是我的代码

package fr.cif.cif_app;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;

public class DashboardActivity extends Activity {
    ImageView img = null;
    TextView monTexte = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dashboard);

        img = (ImageView) findViewById(R.id.imageView8);
        img.setOnClickListener((OnClickListener) this);
    }
    @Override
    public void onClick(View v) {
    /* Réagir au clic */

        // On récupère l'identifiant de la vue, et en fonction de cet identifiant…
        switch(v.getId()) {

            // Si l'identifiant de la vue est celui du premier bouton
            case R.id.imageView5:
    /* Agir pour bouton 1 */
                break;

            // Si l'identifiant de la vue est celui du deuxième bouton
            case R.id.imageView6:
    /* Agir pour bouton 2 */
                break;

            // Si l'identifiant de la vue est celui du deuxième bouton
            case R.id.imageView7:
    /* Agir pour bouton 2 */
                break;



    /* etc. */
        }

    }
}

我已经阅读了一些其他帖子,其中讨论了使用函数名称 onClick 输入时出现的一些错误...但我看不出我的错误在哪里。

在此先感谢您的帮助。

是的,你有 2 个错误:

  1. Class cast Exception:img.setOnClickListener((OnClickListener) this);。在这一行,您尝试 cast 您的 Activity 作为 OnClickListener 但实际上您的 Activity 不是。因此,尝试用你的 activity.
  2. implements OnclickListener
  3. method does not overridefrom its superclass" on the @override declaration. --> 那是因为你尝试 override 你父亲的 onClick() 方法 Activity class,但你可以检查你的超级class,没有要覆盖的 onClick 方法。

回答,在你的情况下,activity中的implementsOnClickListener就足够了。