如何解决类型YourLayout的方法addView(View,int,LinearLayout.LayoutParams)必须覆盖或实现超类型方法

时间:2013-06-21 15:52:22

标签: java android eclipse override supertype

我已经尝试将java sdk版本设置为1.6(已经正确设置)。我也尝试过清理项目以及重启eclipse。

我的定义看似正确,因为我使用了eclipse的Source>覆盖/实现方法从子类ViewGroup创建方法。

@Override
public void addView(View child, int index, LayoutParams params) {
    super.addView(child, index, params);
}

2 个答案:

答案 0 :(得分:1)

将其更改为

addView(View child, int index, ViewGroup.LayoutParams params)

看起来某种程度上您导入了LinearLayout.LayoutParams而不是ViewGroup.LayoutParams,而且ViewGroup没有带有这样签名的方法。

ViewGroup.addView()

确保您的方法使用正确的LayoutParams

答案 1 :(得分:0)

原来,eclipse生成了它不喜欢的代码。我怀疑当它生成代码时,它认为LayoutParams是LinearLayout.LayoutParams(我是子类化LinearLayout)。明确地将布局参数设置为ViewGroup.Layout params确实解决了这个问题。