Android 如何检查listview包含哪些图像?
我正在制作一个带有自定义listview和数据库的简单应用程序,我一直在检查listview包含的图像 我想做什么的示例: 如果我想更新job1,那么我点击job1,它会打开对话框,选择“正在建设” 已选择完成的作业2等 我想知道如何检查列表项是否包含“R.drawable.job\u done” 我知道这不是实际的代码,但这是我想做的: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
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项是否包含“完成工作”图标,然后在更新对话框中将单选按钮设置为“完成工作”。我的答案是否有效?请接受我的回答。。。