2011-06-19 66 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配置) – planetjones

回答

4

加入View在API級別8 Eclipse中的構建目標(或default.properties目標的命令行)可能被設置爲較低API級別。

+0

我想這可能是沿着這些線。謝謝。 – dfetter88

0

onConfigurationChanged僅在視野中的 「自:API等級8」。如果您針對早期版本進行開發,則不存在此類方法,因此您無法覆蓋並調用它們。在「活動」中有一個,您可以通過更改延伸到活動來證明您的代碼是正確的。這不是因爲你想要一個適配器編譯ofcourse工作,但作爲理念,爲您的進口證明,所有這將:)

相關問題