我已经问过这个问题几乎每个人都得到了同样的答案。getView()方法,CheckBox和setOnClickListener()
问题:我设计了一个自定义适配器,因为我的ListView行有一个复选框和一个TextView。 getView()方法有一个setOnClickListener()方法,当我点击应用程序中的复选框时,是使用setOnClickListener()调用getView()方法还是只执行setOnClickListener()方法?
答案:只执行setOnClickListener()。
新问题:如果是这样,单击在ListView的第三行的复选框时,如何为pos
变量设置为2(它已必须是2,因为第三排的指数是2,但什么分配2到pos
) ?
public View getView(int position, View convertView, ViewGroup parent){
View rowView = myInflater.inflate(R.layout.model_row, null);
final int pos = position;
TextView textView = (TextView) rowView.findViewById(R.id.text);
final CheckBox checkBox = (CheckBox) rowView.findViewById(R.id.checkbox);
textView.setText(myList.get(position).getContent());
checkBox.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
if(checkBox.isChecked()){
myList.get(pos).setChecking(checkControl.Checked);
}
else{
myList.get(pos).setChecking(checkControl.NonChecked);
}
}
});
return rowView;
}
谢谢你的好解释 – Goktug