0

この質問はおなじみですが、助けが必要です。コードが null ポインターを返す理由がわかりません。ここで私はこれまでに得ました:

    final GridView imagegrid = (GridView) findViewById(R.id.grid_GalleryImage);
    imageAdapter = new ImageAdapter();
    imagegrid.setAdapter(imageAdapter);

    // Check All

    Button btnCheckAll = (Button) findViewById(R.id.btn_SelectAll);
    btnCheckAll.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                int count = imagegrid.getAdapter().getCount();
                for (int i = 0; i < count; i++) {
                    LinearLayout itemLayout = (LinearLayout)imagegrid.getChildAt(i); // Find by under LinearLayout
                    CheckBox checkbox = (CheckBox)itemLayout.findViewById(R.id.cbo_CheckImage);
                    checkbox.setChecked(true);
                } 
            }
    });
4

1 に答える 1

1

Adapter クラス内で getView を次のように変更します。

public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater in = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView =  in.inflate(R.layout.inflator, null);
CheckBox c = (CheckBox) convertView.findViewById(R.id.checkBox);
c.setId(position);

return convertView;

}

そして onClickListener 内:

btnCheckAll.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {

            int count = imagegrid.getAdapter().getCount();

            for (int i = 0; i < count; i++) {
              CheckBox c = (CheckBox) gridView.findViewById(i);
              c.setChecked(true); 
            }
});
于 2013-06-27T06:09:49.910 に答える