2013-06-27 58 views
0

我知道這個問題很熟悉,但我需要幫助。我不知道爲什麼我的代碼返回空指針。在這裏,我走到這一步:如何使用其他複選框或按鈕檢查gridview中的所有複選框

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); 
       } 
      } 
    }); 

回答

1

內部適配器類變化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); 
      } 
}); 
相關問題