当我重新往Eclipse导入项目的时候(如果我重新安装了Eclipse,或者改变了项目的位置),几乎我所有的重写方法都不是正确的格式,导致了这个错误:“The method ?????????? must override a superclass method”。
因为这个Android项目它可能是值得注意的——不管出于什么原因,方法参数值总是不能自动填充,所以我不得不手动填充它们。
例如:
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
//这些参数有他们正确的名称
}
});
像这样在最初的状态下填充:
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu arg1, View arg2,
ContextMenuInfo arg3) {
//这些方法的参数没有自动提供
}
});
奇怪的是,如果我删除我的代码,Eclipse会自动重建方法,它使用我之前使用的同样的参数名称,所以我真的不知道问题出在哪里,然后它自动格式化了我的方法。
这变得相当的痛苦,我不得不手动重建我所有重写的方法。如果有人能解释为什么会发生这样的情况或者是怎么修改,我将会非常的高兴。
可能是我格式化的方法有问题,是在一个参数里边的另外一种方法?
Eclipse默认的是java1.5,你得有一个可以实现接口的方法的类(在java1.6中可以被用@Override标注,但是在java1.5中它仅仅是被用于覆盖超类的一个方法)。
打开你的工程,然后把java编译器的版本升级到1.6,然后确保你使用JRE1.6来执行你来自eclipse的程序。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。