我已实施AppCompatActivity
一切正常但onCreate
显示下划线然后鼠标悬停显示错误
覆盖方法应该调用super.onCreate();
虽然有超级电话。
为什么显示红色下划线?
答案 0 :(得分:4)
更新:此问题已在Android Studio 1.3预览2中修复
这是 Android Studio 1.3 预览版本的已知问题。它报告了Lint检查的误报。
您可以在此处阅读报告的问题:
https://code.google.com/p/android/issues/detail?id=174964
您可以在发布渠道(1.2)中降级到最新的Android Studio,或建议的解决方案是:
您可以暂时取消“Lint Inspections”。
在Android Studio 1.3中:Android Studio>设置>检查> Android Lint>缺少超级电话
答案 1 :(得分:1)
此问题已在发布到金丝雀频道的 Android Studio 1.3预览2 中修复
答案 2 :(得分:0)
我刚刚遇到与Android Studio 2.3.2稳定版本完全相同的问题。
我的情况是在一个类中扩展了我写的扩展AppCompatActivity的另一个类。我实际上传递了第一个super.onCreate savedInstanceState和布局,并且那个按预期调用了它的super.onCreate。
很奇怪,在这个模式的20个左右的类中只有一个得到了lint错误。
以下是我的课程的实施方式:
public class MyActivity extends BaseNavActivity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState, R.layout.activity_locations);
// stuff
}
}
和
abstract class BaseNavActivity extends AppCompatActivity {
...
protected void onCreate(Bundle savedInstanceState, int resLayout) {
// need to set the theme first
setTheme(R.style.AppTheme2);
// then call super before setting the content view
super.onCreate(savedInstanceState);
setContentView(resLayout);
// stuff
}
}
通过进入(在Mac OS X上)Android Studio>我解决了与初始答案相同的问题。偏好>编辑>检查和改变"缺少超级电话"规则只是一个警告。
(希望它只是一个lint bug,而不是我做错了,很快就会得到解决,我可以将该警告更改回错误,因为它通常是一个有用的检查。)