我有一个ListView
它是使用Web服务填充的。我想从ListView
中删除一个特定的条目为此,我需要从ListView
中获取ID(texview字段)中的一个元素,并将其传递到数据库。我有一个ImageView
(红色十字),每个列表元素需要点击以删除该条目。我想要的是当我点击同一列表元素的删除图像时,获取文本字段的值。我使用了 xml属性来调用函数deleteEntry
。但我不知道如何获得与删除图像位于同一列表元素中的ID的特定值。我怎样才能做到这一点?从列表视图中删除列表元素
编辑
这是我的适配器:
public class MyCustomAdapterWorkEntry extends ArrayAdapter<ViewWorkEntryBean> {
Context context;
int layoutResourceId;
ViewWorkEntryBean currentMRB;
Vector<ViewWorkEntryBean> data;
public MyCustomAdapterWorkEntry(Context context, int layoutResourceId, Vector<ViewWorkEntryBean> 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;
MyStringReaderHolder holder;
if(row==null)
{
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent,false);
holder= new MyStringReaderHolder();
holder.workLogID = (TextView)row.findViewById(R.id.worklog_id);
holder.delete = (ImageView) row.findViewById(R.id.delete);
row.setTag(holder);
}
else
{
holder=(MyStringReaderHolder) row.getTag();
}
ViewWorkEntryBean mrb = data.elementAt(position);
holder.workLogID.setText(mrb.workLogID);
holder.delete.setTag(mrb.workLogID);
return row;
}
static class MyStringReaderHolder
{
TextView workLogID;
ImageView delete;
}
}
这是删除功能:
public void DeleteWorkEntryClick(View v) {
String workLogID = null;
workLogID = (String) v.getTag();
deleteWorkEntry(workLogID);
}
它仍然无法正常工作! workLogID为空。
我在哪里设置标签? – Harsh 2012-07-16 21:05:17
无论你正在将列表数据映射到视图。通常在ListAdapter的'getView()'方法中。 – Devunwired 2012-07-16 21:11:22
它不起作用!我上传了代码。你能检查吗? – Harsh 2012-07-16 21:46:27