Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么可以';I覆盖onConfigurationChanged(配置)?_Java_Android_Eclipse_Overriding - Fatal编程技术网

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以显示我的实现。我想这可能是沿着这些思路。谢谢