android - 如何在自定义 ImageView 中将 R.Drawable 作为参数传递

标签 android class parameter-passing drawable

我有一个 super 简单的类,它扩展了 ImageView。我想(在它的构造函数中)为 R.Drawable 添加一个参数。理想情况下,我可以实例化自定义 Char 类,这样我就会有一个带有背景的漂亮的小 ImageView。我知道这基本上可以通过制作一个 ImageView 来实现,而且我没有定制任何东西。不过,这更多是为了学习。如何将 R.Drawable 作为参数传递?下面的代码声明我无法将可绘制对象分配给 int。

双重更新: 有那么一小会儿我看到一个答案说只使用 int 作为参数。我想到了这一点,但那似乎一点也不优雅。我认为 Android 可能有一种更优雅的方式来处理这个问题。我尝试查看源文档,但迷失了方向。显然这是正确的答案。

*imports*


public class Char extends ImageView {

    Char (Context context, R.drawable drawable){
        super(context);
        setBackgroundResource(drawable);
    }
}

最佳答案

public class Char extends ImageView {

    /**
     * Constructor for <code>Char</code>
     * 
     * @param context The {@link Context} to use
     * @param resId The resource identifier of the {@link Drawable}
     */
    public Char(Context context, int resId) {
        super(context);
        setImageResource(resId);
    }

}

调用:new Char(your_context, R.drawable.your_drawable))

关于android - 如何在自定义 ImageView 中将 R.Drawable 作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22585924/

相关文章:

c++ - 虽然循环比我指定的要循环更多次

java - 如何在android中同时渲染xml View 和java View

sql - 在单个参数中传递多个值

c - C 中的链表和结构 - 在函数中将链表和结构作为参数传递(C)

android - 如何将图像从数据库导出到SD卡

Android 字符集问题下载 utf-8 网页

android - Android早期版本如何实现setVideoScalingMode

android - 如何读取 Android 屏幕亮度/暗度的真实当前值?

c++ - "predefine"和使用命名空间和 std::shared_ptr 的正确方法是什么?

Javascript 将对象作为函数参数传递