2011-04-16 159 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