如何查看哪个图像列表视图包含?

时间:2016-04-28 20:24:22

标签: android sqlite listview

我正在制作一个带有自定义列表视图和数据库的简单应用程序,我不得不检查列表视图包含哪个图像。

我想做的例子:

如果我想更新job1,那么我点击job1,它应该打开选中“正在建设中”的对话框。

job2已完成选择等。

我想知道如何检查列表项是否包含“R.drawable.job_done”?

我知道这不是真正的代码,但这就是我想做的事情:

if(listviewItem.contains R.drawable.job_done){

radioButtonJobDoneFromUpdateDialog.setChecked(true);



}else if (listviewItem.contains R.drawable.job_under_construction){

radioButtonJobUnderconstructionFromUpdateDialog.setChecked(true);



}else if (listviewItem.contains R.drawable.job_incoming){


radioButtonJobIncomingFromUpdateDialog.setChecked(true);



}

提前给我一个简单的例子,tnx。

解决!!!

我制作了一个隐藏的textview,我将图标的名称保存为字符串,现在我正在检查这些字符串。无论如何,tnx试图帮助那些人。

自定义列表视图适配器:

public class Business_custom_listView_adapter extends ArrayAdapter<BusinessObjects> {


Context context;
DatabaseHandler handler;
int layoutResourceId;
ArrayList<BusinessObjects> data = new ArrayList<BusinessObjects>();

public Business_custom_listView_adapter(Context context, int layoutResourceId, ArrayList<BusinessObjects> data) {
    super(context, layoutResourceId, data);
    this.layoutResourceId = layoutResourceId;
    this.context = context;
    this.data = data;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    ImageHolder holder = null;
    if (row == null) {
        LayoutInflater inflater = ((Activity) context).getLayoutInflater();
        row = inflater.inflate(layoutResourceId, parent, false);
        holder = new ImageHolder();
        holder.txtTitle = (TextView) row.findViewById(R.id.tvJobListItemID);
        holder.imgIcon = (ImageView) row.findViewById(R.id.ivJobStatusID);
        row.setTag(holder);
    } else {
        holder = (ImageHolder) row.getTag();
    }
    BusinessObjects picture = data.get(position);
    holder.txtTitle.setText(picture.getNameOfTheJob());       
    byte[] outImage = picture.getImage();
    ByteArrayInputStream imageStream = new ByteArrayInputStream(outImage);
    Bitmap theImage = BitmapFactory.decodeStream(imageStream);
    holder.imgIcon.setImageBitmap(theImage);
    return row;
}


static class ImageHolder {
    ImageView imgIcon;
    TextView txtTitle;
}
}

应用设计:

job status

listview with jobs

2 个答案:

答案 0 :(得分:0)

请分享一些代码,以便我们回答:)

但一般来说,Recycler View比ListView更好!

如果使用ListView执行此操作,则需要使用自定义适配器并更改getView(int position,View convertView,ViewGroup parent)。但是如果你不发布你的代码,我就无法帮你解决你的具体情况

答案 1 :(得分:0)

以这种方式试试

  if (listviewItem.imgIcon.getDrawable() == getResources().getDrawable(R.drawable.job_done)) {
                //do work here
     } else if (listviewItem.imgIcon.getDrawable() == getResources().getDrawable(R.drawable.job_under_construction)) {
   //do work here
     } else if (listviewItem.imgIcon.getDrawable() == getResources().getDrawable(R.drawable.job_incoming)) {
     //do work here
     }