扩展视图类

时间:2015-09-11 13:31:59

标签: java android inheritance

我需要扩展Button视图类,所以我可以添加一些属性来存储数据(我不能使用setTag()因为我需要存储多个变量)。我这样做:

public class ButtonExtended extends Button{
private String thumb;
private String desc;
private String key;

public void setDesc(String desc) {
    this.desc = desc;
}

public void setKey(String key) {
    this.key = key;
}

public void setThumb(String thumb) {
    this.thumb = thumb;
}

public String getDesc() {
    return desc;
}

public String getKey() {
    return key;
}

public String getThumb() {
    return thumb;
}

public ButtonExtended(Context context) {
    super(context);
}

}

问题是在扩展按钮类的OnClick侦听器中,我不允许使用新创建的方法:

private View.OnClickListener ButtonClicked = new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        v.getThumb(); //This is not allowed

    }
};

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

将其投射到您所做的自定义类。

private View.OnClickListener ButtonClicked = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        ButtonExtended buttonView = (ButtonExtended) v;
        buttonView.getThumb(); //This is not allowed

    }
};