2011-10-21 225 views
2

我有一個RelativeLayout的子類,我試圖覆蓋一些方法(所有的addView(...)方法),我有一個奇怪的問題。當從信號源菜單生成覆蓋我有以下覆蓋方法的問題

@Override 
public void addView(View child) 
{ 
    // TODO Auto-generated method stub 
    super.addView(child); 
} 

@Override 
public void addView(View child, int index) 
{ 
    // TODO Auto-generated method stub 
    super.addView(child, index); 
} 

@Override 
public void addView(View child, int width, int height) 
{ 
    // TODO Auto-generated method stub 
    super.addView(child, width, height); 
} 

@Override 
public void addView(View child, LayoutParams params) 
{ 
    // TODO Auto-generated method stub 
    super.addView(child, params); 
} 

@Override 
public void addView(View child, int index, LayoutParams params) 
{ 
    // TODO Auto-generated method stub 
    super.addView(child, index, params); 
} 

但最後兩個罰球編譯型RelativeLayoutWithDataState類型

方法addView的錯誤(查看,INT,RelativeLayout.LayoutParams)必須覆蓋或實現超方法

看着這些都是API級的文檔1

http://developer.android.com/reference/android/view/ViewGroup.html#addView(android.view.View, int, android.view.ViewGroup.LayoutParams)

任何人都可以對此有所瞭解,我真的很愚蠢嗎?!

謝謝!

+0

您的項目是使用Java 1.5還是1.6構建的?在eclipse中,右鍵單擊您的項目,單擊屬性,然後轉到Java編譯器部分。什麼是「編譯器合規性」屬性設置爲? –

+0

謝謝,但woudve導致所有的方法拋出錯誤,由於註釋 – Dori

回答

7

您導入了錯誤的LayoutParams。它應該是ViewGroup.LayoutParams而不是RelativeLayout.LayoutParams

這應該解決您的問題。

+1

+1非常好!謝謝,我用了很多年的時間來發現它!我太相信源代... – Dori