我有一个列表视图的自定义适配器。行视图是一个复选框。我已经使用setOnClickListener()
来处理用户单击复选框的时间。我想知道的是,如果有一种方法可以让我在单击列表视图时知道复选框的位置。
以下是我的适配器的代码,如果有帮助的话。
private class TagAdapter extends BaseAdapter
{
public TagAdapter(ArrayList<Tag> items)
{
mTagList = items;
}
public int getCount()
{
return mTagList.size();
}
public Object getItem(int position)
{
return mTagList.get(position);
}
public long getItemId(int position)
{
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
View V = convertView;
if(V == null)
{
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
V = vi.inflate(R.layout.tag, null);
}
Tag t = (Tag) mTagList.get(position);
TextView tagName = (TextView)V.findViewById(R.id.checkBox1);
CheckBox cb = (CheckBox)V.findViewById(R.id.checkBox1);
cb.setChecked(t.isSelected());
cb.setOnClickListener(new View.OnClickListener() //the add tag button "+"
{
public void onClick(View view)
{
}
});
tagName.setText(t.getTagName());
return V;
}
}
答案 0 :(得分:2)
创建复选框时,使用setTag
方法添加所需的任何数据。您甚至可以将列表项存储为标记。