这个问题可能已经多次回答了,但它没有涵盖我正在寻找的内容。
我有一个带有自定义适配器的列表视图。ImageView
列表视图有一个文本视图和一个附加到它的行的删除。我想在单击项目时从项目中提取文本视图的值,以便也从数据库中删除该项目。我还想更新列表项,我正在listview.setOnClickListener
为此目的使用。所以我不能使用相同的删除。我已经阅读了有关使用setTag()
和getTag()
方法的信息,但不确定如何准确地做到这一点。我想将 textview 或者更确切地说是 texview 的字符串值设置为适配器内删除 imageview 的标签。然后在我的活动里面getTag()
使用。delete.setOnClickListener
谁能帮我解决这个问题?
相关适配器代码:
@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_entry);
row.setTag(holder);
}
else
{
holder=(MyStringReaderHolder) row.getTag();
}
ViewWorkEntryBean mrb = data.elementAt(position);
holder.workLogID.setText(mrb.workLogID);
// mrb.workLogID contains the desired string which I want to pass to delete as a tag
// How do I set the tag?
return row;
}
static class MyStringReaderHolder
{
String billable;
TextView workLogID;
ImageView delete;
}
这是 onClickListener 里面的活动:
ImageView deleteButton = (ImageView) findViewById(R.id.delete_entry);
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String ID = null;
// how do I get the value of the tag into the string ID
}
});