Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何检查listview包含哪些图像?_Android_Sqlite_Listview - Fatal编程技术网

Android 如何检查listview包含哪些图像?

Android 如何检查listview包含哪些图像?,android,sqlite,listview,Android,Sqlite,Listview,我正在制作一个带有自定义listview和数据库的简单应用程序,我一直在检查listview包含的图像 我想做什么的示例: 如果我想更新job1,那么我点击job1,它会打开对话框,选择“正在建设” 已选择完成的作业2等 我想知道如何检查列表项是否包含“R.drawable.job\u done” 我知道这不是实际的代码,但这是我想做的: if(listviewItem.contains R.drawable.job_done){ radioButtonJobDoneFromUpdateDia

我正在制作一个带有自定义listview和数据库的简单应用程序,我一直在检查listview包含的图像

我想做什么的示例:

如果我想更新job1,那么我点击job1,它会打开对话框,选择“正在建设”

已选择完成的作业2等

我想知道如何检查列表项是否包含“R.drawable.job\u 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

解决了

我创建了一个隐藏的文本视图,并将图标名称保存为字符串,现在我正在对这些字符串进行检查。无论如何,感谢tnx努力帮助男人。

自定义listview适配器:

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;
}
}
公共类业务\自定义\列表视图\适配器扩展了ArrayAdapter{
语境;
数据库处理程序;
国际布局资源;
ArrayList数据=新的ArrayList();
公共业务\自定义\列表视图\适配器(上下文上下文、int-layoutResourceId、ArrayList数据){
超级(上下文、布局资源ID、数据);
this.layoutResourceId=layoutResourceId;
this.context=上下文;
这个数据=数据;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图行=转换视图;
ImageHolder=null;
if(行==null){
LayoutInflater充气器=((活动)上下文)。getLayoutInflater();
行=充气机。充气(layoutResourceId,父级,false);
支架=新的图像支架();
holder.txtTitle=(TextView)row.findViewById(R.id.tvJobListItemID);
holder.imgIcon=(ImageView)row.findViewById(R.id.ivJobStatusID);
row.setTag(支架);
}否则{
holder=(ImageHolder)行。getTag();
}
BusinessObjects图片=data.get(位置);
holder.txtitle.setText(picture.getnameofjob());
字节[]outImage=picture.getImage();
ByteArrayInputStream imageStream=新的ByteArrayInputStream(outImage);
位图theImage=BitmapFactory.decodeStream(图像流);
holder.imgIcon.setImageBitmap(图像);
返回行;
}
静态类图像保持器{
ImageView imgIcon;
TextView-txtTitle;
}
}
应用程序的设计:


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

但一般来说,Recycler视图比ListView更好

如果使用ListView执行此操作,则需要使用自定义适配器并更改getView(int位置、视图转换视图、视图组父级)。但是如果你不发布你的代码,在你的具体情况下我帮不了你

  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
     }

我用自定义适配器更新了主题,但我不认为这会有帮助,因为我的问题只是一个else if语句,我想检查listview项中的哪个可绘制内容您想根据作业名称更改可绘制内容,还是相反?否,我想检查listview项是否包含“完成工作”图标,然后在更新对话框中将单选按钮设置为“完成工作”。我的答案是否有效?请接受我的回答。。。