gpt4 book ai didi

java - @override error : The method onClick(View) of type new View. OnClickListener(){} 必须重写父类(super class)方法

转载 作者:行者123 更新时间:2023-12-01 18:38:00 24 4
gpt4 key购买 nike

我想在单击按钮时导航到新页面。以下是我创建的两项 Activity 。我正在使用 Eclipse,但收到一条错误消息,指出 The method onClick(View) of type new View.OnClickListener(){} Must override a superclass method on the main Activity。

这是我的主要 Activity 。

package com.example.grammer;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.support.v4.app.NavUtils;

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button grammerButton = (Button)findViewById(R.id.grammar);

grammerButton.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, Grammer.class);
startActivity(intent);
}

});
}
}

这是我的第二项 Activity 。

package com.example.grammer;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.support.v4.app.NavUtils;
import android.annotation.TargetApi;
import android.os.Build;

public class Grammer extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_grammer);

Button grammerButton = (Button) findViewById(R.id.grammar);


grammerButton.setOnClickListener(new View.OnClickListener() {

// @Override
public void onClick(View view) {
finish();
}

});
}
}

删除 @override 将消除错误,但应用程序无法按预期运行。

最佳答案

检查这个

OnClickListener() must override a superclass method?

取消选中“启用项目特定设置”,单击“配置工作区设置...”并将“编译器合规级别”更改为 1.6 或更高

有这个导入声明

 import android.view.View.OnClickListener;

无需删除@Override Annotation。

也没有必要调用finish()。硬件后退按钮可以完成这项工作。

当您在语法 Activity 中按后退按钮时,您当前的 Activity 将从返回堆栈中弹出,并且返回堆栈中的上一个 Activity 将获得焦点。因此,无需在单击按钮时调用 finish()

http://developer.android.com/guide/components/tasks-and-back-stack.html

此外,如果您在 activity_grammer.xml 中有一个 id 为 grammar 的按钮,也可以。

确保 activity_grammer.xml 中有一个 id 为 grammar 的按钮

您可以读取主题 ID

http://developer.android.com/guide/topics/ui/declaring-layout.html

ID 在整个树中不必是唯一的,但在您正在搜索的树的部分中应该是唯一的。

关于java - @override error : The method onClick(View) of type new View. OnClickListener(){} 必须重写父类(super class)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21011609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com