我有这个方法,我想在里面使用getResources():
public void onBindViewHolder(ViewHolder viewHolder, int i) {
viewHolder.itemTitle.setText(titles[i]);
viewHolder.itemImage.setImageResource(images[i]);
viewHolder.itemImage.setImageBitmap(
decodeSampledBitmapFromResource(getResources(), R.id.item_image, 200, 200));
}
答案 0 :(得分:21)
public void onBindViewHolder(ViewHolder viewHolder, int i) {
Resources res = viewHolder.itemView.getContext().getResources();
...
}
答案 1 :(得分:5)
是的,你可以。使用我不能在onBindViewHolder()中使用getResources?
viewHolder.itemView.getResources();
getResources()
是View部分。无需绕过Context
答案 2 :(得分:0)
在适配器类中传递this
上下文 Context context ;
public YourAdapter(Context context ,... ) //constructor
{
this.context = context ;
//other code
}
:
context.getResources() ;
然后你可以使用:
code day time observation
A1 1 07:30:00 w
A1 1 12:15:00 f
A1 1 18:40:00 v
B2 1 08:12:00 q
B2 1 09:33:00 s
B2 2 14:10:00 a
B2 2 20:20:00 g
答案 3 :(得分:-1)
printf()
构造函数获取Context
对象。
Adapter
然后,您可以使用private Context context;
public YourAdapter(Context context){ //or you can make other method to get/set Context obect
this.context = context;
}
访问this.context.getResources()
方法。
从Activity或Fragment初始化你的适配器,比如 -
getResources()