@Override
  public View getView(int position, View convertView, ViewGroup parent) {
   final int p = position; ← 포지션값이 필요해서 position을 사용하려니 상수로 만들어줘야 한다고 해서 어쩔 수 없이 썼습니다. 헌데 !!

   if (convertView == null) {
    convertView = getLayoutInflater().inflate(
      R.layout.item_general, null);
   }

   /** 이미지 부분(음식사진) **/
   ImageView ivFoodImage = (ImageView) convertView
     .findViewById(R.id.iv_FoodImageG);
   ivFoodImage.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
    }
   });
   /** 체크박스 부분(음식이름) **/
   CheckBox cbFoodName = (CheckBox) convertView
     .findViewById(R.id.cb_FoodNameG);
   cbFoodName.setText(arrFoodList.get(position).getFoodName());
   cbFoodName.setOnCheckedChangeListener(new OnCheckedChangeListener() {

    @Override
    public void onCheckedChanged(CompoundButton buttonView,
      boolean isChecked) {
     if (isChecked) {
      // Checked 일때
      arrPosition.add(p);
     } else {
      // unChecked 일때
      for (int i = 0; i < arrPosition.size(); i++)
       if (arrPosition.get(i) == p) {
        arrPosition.remove(i);
       }

     }
    }
   });
   /** 텍스트뷰 부분(음식가격) **/
   TextView tvFoodPrice = (TextView) convertView
     .findViewById(R.id.tv_FoodPriceG);
   tvFoodPrice.setText(arrFoodList.get(position).getFoodPrice());

   return convertView;
  }

 

 

----------------------------------------------------------------------------------------------------------------------------

상수를 써야 한다고 해서 어쩔 수 없이 썼는데, 그 때문에 포지션값이 계속 잘못나오지 않나 싶기도 하고,

다시 뷰를 그려주면서 엉뚱한 체크박스를 체크를 하는데, .... 어느 부분이 잘못되었는 지... 답답할 노릇입니다. ㅠ