Java 为什么可以';I覆盖onConfigurationChanged(配置)?
我已经看到了类似的问题,我已经添加了一行Java 为什么可以';I覆盖onConfigurationChanged(配置)?,java,android,eclipse,overriding,Java,Android,Eclipse,Overriding,我已经看到了类似的问题,我已经添加了一行 导入android.content.res.Configuration。但这并没有起到任何作用 我正在编写一个扩展AdapterView的类,该方法确实存在。那么为什么我不能覆盖它呢 以下是我的实现: import android.content.Context; import android.content.res.Configuration; import android.view.View; import android.widget.Adapte
导入android.content.res.Configuration代码>。但这并没有起到任何作用
我正在编写一个扩展AdapterView的类,该方法确实存在。那么为什么我不能覆盖它呢
以下是我的实现:
import android.content.Context;
import android.content.res.Configuration;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
public class Foo extends AdapterView<Adapter> {
public Foo(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
public Adapter getAdapter() {
// TODO Auto-generated method stub
return null;
}
@Override
public View getSelectedView() {
// TODO Auto-generated method stub
return null;
}
@Override
public void setAdapter(Adapter adapter) {
// TODO Auto-generated method stub
}
@Override
public void setSelection(int position) {
// TODO Auto-generated method stub
}
/*
* Error is thrown here... The method onConfigurationChanged(Configuration) of
* type Foo must override or implement a supertype method
*/
@Override
protected void onConfigurationChanged(Configuration newConfig) {
/*
* Error is thrown here... The method onConfigurationChanged(Configuration) is
* undefined for the type AdapterView<Adapter>
*/
super.onConfigurationChanged(newConfig);
}
}
导入android.content.Context;
导入android.content.res.Configuration;
导入android.view.view;
导入android.widget.Adapter;
导入android.widget.AdapterView;
公共类Foo扩展AdapterView{
公共Foo(上下文){
超级(上下文);
//TODO自动生成的构造函数存根
}
@凌驾
公共适配器getAdapter(){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共视图getSelectedView(){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共void setAdapter(适配器适配器){
//TODO自动生成的方法存根
}
@凌驾
公共选举(内部职位){
//TODO自动生成的方法存根
}
/*
*此处抛出错误…的方法OnConfiguration已更改(配置)
*类型Foo必须重写或实现超类型方法
*/
@凌驾
受保护的void onconfiguration已更改(配置newConfig){
/*
*此处抛出错误…OnConfiguration(配置)方法已更改
*类型AdapterView未定义
*/
super.onConfigurationChanged(newConfig);
}
}
onConfigurationChanged()
已添加到API级别8中的视图中。Eclipse中的构建目标(或命令行的default.properties
中的目标)可能设置为较低的API级别。视图中的onConfigurationChanged
仅显示“自:API级别8”。如果您是针对早期版本开发的,则没有此类方法,因此您无法重写和调用它们。“活动”中有一个,您可以通过将扩展更改为活动来证明您的代码是正确的。当然,这不适用于编译,因为您需要适配器,但作为导入和所有导入的概念证明:)请展示您的实现它是最基本的。我有一个全新的类,它扩展AdapterView并实现继承的抽象方法。这就是它现在所做的一切。问题是,当我尝试覆盖onConfigurationChanged时,我会收到一个错误,指出类型AdapterView的方法未定义。参数中的配置是否确实作为android.content.res.Configuration导入?更改配置更改(android.content.res.Configuration-config)中要保护的签名我明白了,请发布它,以便我们可以查看是否还有其他问题。@planetjones,谢谢你的建议,但它没有解决问题@MByD,我已经更新了OP以显示我的实现。我想这可能是沿着这些思路。谢谢