我基本上用这种方法创建了一个类:
void setResource(Context context, R.id resourceID) {
ImageView test = (ImageView) context.findViewById(resourceID);
}
“findViewById”给了我一个无法解析的方法。 我有三个用XML定义的ImageViews,我想以编程方式设置与它们相关联的图像。在我的main_activty中,我使用:
ImageView blah = (ImageView) this.findViewById(R.id.blah);
然后:
blah.setImageResource(R.drawable.pony);
但是,我想将所有内容传递给我所创建的类并让它处理自定义类中的所有内容,但是当我尝试传递所有内容(顶部的代码;“setResource”)时,我得到了findViewByID无法解决方法。有没有办法这样做?
答案 0 :(得分:1)
我认为你正试图找到表达你想要做的事情的话,以及一些基本概念。这是我对你想要完成的事情的最好猜测......
下面的代码为drawable获取id,加载它,然后将其放入布局中的imageView中。 ImageView必须已经存在于您的布局中,它不会动态地为您创建一个。
void setResource(Context context, int resourceId) {
//resourceId = R.drawable.ponies (example)
Drawable drawable = context.getResources().getDrawable(resourceId);
//R.id.main_imageview is example imageView in a layout.
ImageView iv = findViewById(R.id.main_imageview);
iv.setImageDrawable(drawable);
}