我知道这个问题很熟悉,但我需要帮助。我不知道为什么我的代码返回一个空指针。到目前为止我到了这里:
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);
}
}
});
答案 0 :(得分:1)
Inside 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);
}
});