我有一个超级简单的类,它扩展了ImageView。我想添加(在它的构造函数中)R.Drawable
的参数。理想情况下,我可以实例化自定义Char
类,我会有一个很好的小ImageView
背景。我知道这只是通过制作一个imageview并且我不会定制任何东西来实现这一点。这更适合学习。如何将R.Drawable作为参数传递?下面的代码声明我无法将drawable分配给int。
双倍更新:
片刻之后,我看到了一个答案,即只使用int
作为参数。我想到了这一点,但这似乎并不优雅。我认为Android可能有更优雅的方式来接近这个。我尝试查看源文档,但迷失在迷宫中。显然,这是正确的答案。
*imports*
public class Char extends ImageView {
Char (Context context, R.drawable drawable){
super(context);
setBackgroundResource(drawable);
}
}
答案 0 :(得分:2)
你看到传递int的答案是正确的。或者您可以创建drawable,传入并使用
public class Char extends ImageView {
Char (Context context, Drawable drawable) {
super(context);
setBackgroundDrawable(drawable);
}
}
答案 1 :(得分:1)
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))
答案 2 :(得分:0)
R.drawable.xxx
是一个int,所以只需将一个int参数传递给你的函数。