2011-04-16 156 views
1

由於某些原因,Eclipse不喜歡對super(context,attrs,defStyle)的調用,但它對其他超級調用感到滿意。錯誤是「構造函數LinearLayout(Context,AttributeSet,int)未定義」。覆蓋LinearLayout構造函數之一的奇怪問題

我不認爲問題出在這個代碼本身,而是項目設置中的其他東西,因爲我調整了幾乎相同的代碼,這些代碼來自做了同樣的事情,但是對於RelativeLayout,它運行良好我的Eclipse安裝在一個測試項目中。

請幫助:)

public class MyLinearLayout extends LinearLayout { 

public MyLinearLayout(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
    myInit(); 
} 

public MyLinearLayout(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    myInit(); 
} 

public MyLinearLayout(Context context, int checkableId) { 
    super(context); 
    myInit(); 
} 

回答

3

根據these javadocs錯誤是完全正確的。

LinearLayout沒有那個構造函數。這是兩個有效的構造函數:

LinearLayout(Context context) 
LinearLayout(Context context, AttributeSet attrs, Map inflateParams) 
+0

謝謝,那肯定會解釋它!這引出了問題 - 爲什麼[鏈接](http://developer.android.com/reference/android/widget/LinearLayout.html)似乎與您發佈的javadoc相矛盾? – Jodes 2011-04-16 01:42:23

+0

好問題,jodes;我想知道我自己 - 儘管這是另一回事 - android dev網站(您的鏈接)似乎說第三個構造函數需要API級別爲11.您安裝的目標是什麼版本的SDK? – Cephron 2011-04-16 01:44:31

+1

好吧,我的目標是7級:) – Jodes 2011-04-16 01:46:45