在自己接的项目中用到了一个功能,需要在Android的列表中绑定按钮,并且每个按钮根据每个item传递不同的参数。
ListView展现数据都是通过绑定一个Adapter来实现的,但是一般情况下,ListView中的点击事件都是固定的,最多是根据Item的position来确定是点击响应哪个事件,传递哪个参数。
之前代码是这样的
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = new ViewHolder();
if(convertView==null) {
holder = new ViewHolder();
convertView = layoutInflater.inflate(R.layout.problem_checklist_item, null);
holder.position1 = (TextView) convertView.findViewById(R.id.position1);
holder.position2 = (TextView) convertView.findViewById(R.id.position2);
holder.standardName = (TextView) convertView.findViewById(R.id.checkstandard);
holder.modifyBtn = (Button) convertView.findViewById(R.id.modify_btn);
HashMap<String,Object> map = data.get(position);
final String id = (String)map.get("id");
holder.modifyBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 修改检查结果
System.out