覆盖方法的问题

时间:2011-10-21 16:39:40

标签: android override

我有一个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(View,int,RelativeLayout.LayoutParams)必须覆盖或实现超类型方法

查看文档这些都是API级别1

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

任何人都可以对此有所了解,我真的很蠢吗?!

谢谢!

1 个答案:

答案 0 :(得分:7)

您导入了错误的LayoutParams。它应该是ViewGroup.LayoutParams而不是RelativeLayout.LayoutParams

那应该解决你的问题。