Java oddg类型的onClick(View)方法必须重写超类方法?
我正在发生如下错误: oddg类型的onClick(View)方法必须重写一个超类 方法” 我不知道到底哪里出了差错。 你能告诉我,到底是什么错误吗Java oddg类型的onClick(View)方法必须重写超类方法?,java,android,overriding,Java,Android,Overriding,我正在发生如下错误: oddg类型的onClick(View)方法必须重写一个超类 方法” 我不知道到底哪里出了差错。 你能告诉我,到底是什么错误吗 public class oddg extends Activity implements OnClickListener { ProgressDialog dialog; int increment; int maximum ; private static final String
public class oddg extends Activity implements OnClickListener
{
ProgressDialog dialog;
int increment;
int maximum ;
private static final String TAG = "ServicesDemo";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
Button startbtn = (Button) findViewById(R.id.startbtn);
startbtn.setOnClickListener(this);
}
@Override
public void onClick(View arg0)
{ }
}
这是我的密码。。。
提前谢谢--
Onkar我认为问题在于,您的编译器设置被设置为Java1.5,而不是Java1.6。由于Java 1.6,注释@Override不仅可以用于从超类继承的方法,也可以用于从接口实现的方法。但是,如果您的编译器仍然设置为1.5,问题是他将检查您是否正在覆盖来自超类的方法。在您的示例中,情况并非如此,因为您正在从接口实现一个方法 作为旁注,最好是遵循代码。所以所有的类都以大写字母开头。阅读注释。这意味着,一旦您用
@Override
注释了该方法,编译器将检查它是否确实是被重写的方法,如果不是,则显示错误
此外,您必须具有语言级别6才能将其与接口实现方法一起使用。在IDEA中,您可以通过项目设置来完成此操作。我也遇到了同样的问题,我这样修复了它:
- 打开项目设置->Java编译器
- 将启用项目特定设置设置设置为
禁用
实现OnClickListener
,也会出现此错误
// Wrong
public class aClass extends Activity {
}
// Right
public class aClass extends Activity implements OnClickListener {
}
对于更有经验的程序员来说,这似乎是个傻瓜,但我是新手,它愚弄了我。“RoflcoptrException”是对的!您应该将java编译器设置为1.6
项目属性->Java编译器->1.6我也遇到了同样的问题。我发现解决方案写得很好 我换了
import android.content.DialogInterface.OnClickListener; //(wrong)
为了
如果您使用的是android studio,您也可以通过按ctrl+O来覆盖您的方法,或者只需转到code->Overide并覆盖适当的方法。
它将自动覆盖您的方法。您是否在没有与父接口或实现接口的签名匹配的方法上使用@override注释?无论如何,如果你发布复制问题所需的最小完整代码,人们会更好地帮助你。@thane我已经编辑了我的问题。对于代码,是的,我使用了@Override annotation,nut我想做什么,请指导我。如果你正在使用Eclipse,请转到Windows->Preferences->Java->Compiler,并将编译器遵从性级别更改为1.6。我对Java 1.7也有同样的警告。这是开始!只是为了添加我的,在此更改之后重新启动Eclipse。为我工作。谢谢你的解决方案,但它仍然向我显示了一个错误,即使在更改为1.6之后。因此,我不得不更改为1.7并尝试(尽管有警告),它仍然有效。右键单击您的项目=>Properties=>Java编译器=>将编译器遵从性级别更改为1.6或1.7这是解决方案,一个错误的导入更正,我还使用您的解决方案解决了问题。我投1票+
import android.view.View.OnClickListener;