如何在onBindViewHolder()中使用getResources?

时间:2017-02-26 11:51:44

标签: android

我有这个方法,我想在里面使用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));
    }

4 个答案:

答案 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()