java - 扩展 View 类

标签 java android inheritance

我需要扩展 Button View 类,这样我就可以添加一些属性来存储数据(我不能使用 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 Listener 中,我不允许使用新创建的方法:

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

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

    }
};

有人可以帮忙吗?

最佳答案

将其转换为您创建的自定义类。

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

    }
};

关于java - 扩展 View 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32524744/

相关文章:

java - RabbitMQ Java 客户端到 Windows 服务总线

android - react native : Can't show remote images in release mode on android device

android - OpenGL、Android 和 Galaxy S3

c++ - Qt不能继承属性

javascript - ES6 (Babel) - 不能在类定义之外调用扩展类的 super.methodName

java - 按颜色获取R、G、B的值

java - Java中List的Reverse方法打印List两次

c# - 继承 C# Tuple<T, T>,同时向构造函数添加值检查。

java - 如何使用 OdfToolkit 打印 OpenDocument 文本?

java - 从gradle的任何进程中排除一些文件夹和文件