我需要扩展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
}
};
有人可以帮忙吗?
答案 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
}
};