Cannot override the final method from SherlockFragmentActivity问题解决方案

最近在制作android APP,使用到了开源项目slidingmenu,但是按照CSDN上各位朋友的步骤,总会出现一个问题,就是不能重写onOptionsItemSelected(MenuItem item)方法,明明基类SherlockFragmentActivity的onOptionsItemSelected是public的,但是就是报错是final的,找了很久问题的原因,最后在一篇帖子上找到了原因,原来我import了android.view.MenuItem和android.view.Menu,报错是因为他俩,ActionBarSherlock 重新实现了MenuItem,因此需要将Android的那两句话删除,加上import com.actionbarsherlock.view.MenuItem;,这样就OK了,怕再遇到类似问题,因此记录下来,希望对遇到同样问题的朋友能有帮助。

原文链接:点击打开链接

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`@Override` 注解报错 "Method does not override method from its superclass" 的原因是当前方法并没有正确地覆盖了父类中的方法。 要解决这个问题,你可以按照以下步骤进行检查和修复: 1. 确保当前方法的签名(包括方法名、参数列表和返回类型)与父类中的方法完全一致。如果签名不一致,编译器会认为你并没有正确地覆盖父类的方法。 2. 确保当前方法所在的类确实是父类的子类,而不是错误地定义了一个独立的方法。 3. 检查父类中的方法是否被正确地声明为可被子类覆盖(即使用了 `public` 或 `protected` 访问修饰符)。 4. 检查父类是否是正确的类或接口,确保你在覆盖方法时没有误用了其他类或接口。 如果你确认以上步骤都正确无误,但仍然遇到 `@Override` 报错问题,那可能是编译器或开发环境的问题。可以尝试以下解决方案: - 清理和重新构建项目:有时候编译器可能会出现缓存问题,清理和重新构建项目可以解决这些问题。 - 更新编译器或开发环境:有时候旧版本的编译器可能会存在一些 bug,更新到最新版本可能会解决这些问题。 - 检查编译选项:某些编译选项可能会导致 `@Override` 报错问题,可以检查编译选项是否设置正确。 总之,解决 `@Override` 报错问题的关键是确保当前方法正确地覆盖了父类的方法,并且排除其他可能导致问题的因素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值