我有下面的代码,现在我需要跟踪每个 gridview 项目中的复选框状态,并在单击按钮时获取该信息以更新信息。我在 gridview 的 imageadapter 调用活动中的按钮事件。
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder;
ImageView imgView = null;
if (convertView == null) {
holder = new ViewHolder();
LayoutInflater ltInflate = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
convertView = ltInflate.inflate(R.layout.griditem, null);
holder.textview1 = (TextView) convertView.findViewById(R.id.grid_item_alert_date);
holder.textview2 = (TextView) convertView.findViewById(R.id.grid_item_alert_time);
holder.textview3 = (TextView) convertView.findViewById(R.id.grid_item_alert_type);
holder.imageview = (ImageView) convertView.findViewById(R.id.grid_item_image);
holder.checkbox = (CheckBox) convertView.findViewById(R.id.checkbox_ack);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked)
{
//Accessing or saving position to a List doesn't work here
//How to add ? info to a list here...
}
} });
holder.textview1.setText("Text 1 ");
holder.textview2.setText("Text 2 ");
holder.textview3.setText("Text 3 ");
holder.checkbox.setChecked(false);
holder.imageview.setImageBitmap(bitmap);
holder.id = position;
return convertView;
}
在活动中:
private OnClickListener UpdateButtonListener =
new OnClickListener(){
public void onClick(View v)
{
//CheckBox ckbocx = (CheckBox) findViewById(R.id.checkbox_ck);
//Need info on all the checkboxes for each gridview item
};
任何线索,提示都非常受欢迎。