2011-06-19 8 views
4

私はすでに同様の質問hereを見てきました。私はすでに import android.content.res.Configuration;という行を追加しています。それは助けていない。onConfigurationChanged(Configuration)をオーバーライドできないのはなぜですか?

私はAdapterView<Adapter>を拡張するクラスを作成しています。EclipseはonConfigurationChanged(Configuration)を上書きさせません。 AdapterView page in the Android Docsに見られるように、この方法は確かに存在する。では、なぜ私はそれを無効にできませんか?ここで

は私の実装です:

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); 
    } 
} 
+0

実装を表示してください – MByD

+0

それは基本的なものです。私はAdapterView を拡張し、継承した抽象メソッドを実装する全く新しいクラスを持っています。それは今のところすべてです。問題は、onConfigurationChangedをオーバーライドしようとすると、メソッドがAdapterView の型が定義されていないというエラーが表示されることです。 – dfetter88

+0

パラメータのコンフィグレーションは、android.content.res.Configurationとして間違いなくインポートされていますか?署名を変更して保護するonConfigurationChanged(android.content.res.Configuration config) – planetjones

答えて

4

は、APIレベルでViewに追加された8おそらく下のAPIレベルに設定されているビルドEclipseでターゲット(またはコマンドラインのdefault.propertiesでターゲット) 。

+0

私はそれがおそらくこれらの線に沿ったものだと考えました。ありがとう。 – dfetter88

0

onConfigurationChangedは、「Since:API Level 8」にのみ表示されます。以前のバージョンに対して開発している場合、そのようなメソッドは存在しないため、オーバーライドして呼び出すことはできません。 「アクティビティ」には1つあり、あなたのコードを正しいものにすることができます。これはアダプターが必要なので、コンパイルにはうまくいかないでしょうが、あなたの輸入品のコンセプトの証明として、それはすべて役に立ちます:)

関連する問題