android – 以可编程方式设置drawable作为背景

前端之家收集整理的这篇文章主要介绍了android – 以可编程方式设置drawable作为背景前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
编辑:对不起,我从你的意见中意识到我的问题不够清楚.我会发布一个新的.对不起,谢谢你的答案

我从一个Json文件填充一个listview.
使用我的listadapter,我可以轻松地将适当的json数据分配给我的列表的每一行.这对文本有用,例如:

TextView tv = (TextView)ll.findViewById(R.id.descView);   
tv.setText(i.desc);

使用上述代码,每行都将被正确的json数据填充.

但是,我不会为图像做同样的事情.我试图用我的json数据设置正确的图像:

ImageView iv = (ImageView)ll.findViewById(R.id.imgView);           
iv.setBackgroundDrawable(context.getResources().getDrawable(i.img));

我想我的参数类型有问题:“setBackgroundDrawable”需要一个可绘制的参数.
“getDrawable”需要一个int.
我将我的字段img的类型设置为int,但是这不起作用.

任何想法为什么?

我的列表适配器:

public class adapter extends ArrayAdapter<ListItems> {

int resource;
String response;
Context context;

//Initialize adapter
public ListItemsAdapter(Context context,int resource,List<ListItems> items) {
    super(context,resource,items);
    this.resource=resource; 
}     

@Override
public View getView(int position,View convertView,ViewGroup parent)
{

    //Get the current object
    ListItems i = getItem(position);

    //Inflate the view
    if(convertView==null)
    {
        ll = new LinearLayout(getContext());
        String inflater = Context.LAYOUT_INFLATER_SERVICE;
        LayoutInflater li;
        li = (LayoutInflater)getContext().getSystemService(inflater);
        li.inflate(resource,ll,true);
    }
    else
    {
        ll = (LinearLayout) convertView;
    }

    //For the message
    TextView tv = (TextView)ll.findViewById(R.id.descView);
    tv.setText(i.desc);

// For the Img
    ImageView iv = (ImageView)ll.findViewById(R.id.imgView);
    iv.setBackgroundDrawable(context.getResources().getDrawable(i.img));

    return ll;
}

我的项目类:

public class ListItems{
int id;
int img;    
String desc;}

和我的json文件的示例:

[{"id":10001,"img":e1,"desc":"desc1"},{"id":10002,"img":e2,"desc":"desc2"},{"id":10003,"img":e3,"desc":"desc3"}]

解决方法

尝试这个
iv.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.img));

要么

iv.setBackgroundResource(R.drawable.img);
原文链接:https://www.f2er.com/android/310806.html

猜你在找的Android相关文章