以下のコードがあります。各グリッドビュー項目のチェックボックスの状態を追跡し、ボタンのクリックでその情報を取得して情報を更新する必要があります。グリッドビューの 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
};
手がかり、ヒントは大歓迎です。