제가 이거때문에 일주일 동안 작업을 못하고 있는데요..... arraylist와 arrayadapter를 이용해서 체크된 항목 값만 받아오려고 합니다...

 

소스코드는 아래쪽이고요.... 어떻게 하면 체크된항목만 받아올 수 있을까요???

 

package com.knu.seeaht;

import java.util.ArrayList;

import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.*;
import android.view.View.OnClickListener;
import android.widget.*;

public class Gender_Select extends ListActivity implements OnClickListener {

 // Data 지정 부분
 class Gender_Data {

  String gender;
  boolean gender_checkbox;

  Gender_Data(String gender) {
   this.gender = gender;
  }

  public String getGender() {
   return gender;
  }

  public void setGender(String gender) {
   this.gender = gender;
  }

  public boolean is_gender_checkbox() {
   return gender_checkbox;
  }

  public void set_gender_checkbox(boolean gender_checkbox) {
   this.gender_checkbox = gender_checkbox;
  }

 }

 // Adapter 부분
 class GenderAdapter extends ArrayAdapter<Gender_Data> {
  ArrayList<Gender_Data> list;

  public GenderAdapter(Context context, int viewId,
    ArrayList<Gender_Data> list) {
   super(context, viewId, list);
   this.list = list;
  }

  // View 부분
  @Override
  public View getView(int position, View v, ViewGroup parent) {
   if (null == v) {
    LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    v = vi.inflate(R.layout.gender_select_second, null);
    CheckBox cb = (CheckBox) v
      .findViewById(R.id.gender_select_checkbox);
    cb.setFocusable(false);
    cb.setClickable(false);
   }
   Gender_Data gen_d = list.get(position);
   if (null != gen_d) {
    TextView gen_text = (TextView) v
      .findViewById(R.id.gender_select_textview);
    CheckBox gen_check = (CheckBox) v
      .findViewById(R.id.gender_select_checkbox);

    gen_text.setText(gen_d.getGender());
    gen_check.setChecked(gen_d.is_gender_checkbox());
   }
   return v;
  }
 }

 // 아이템 클릭시 동작
 @Override
 protected void onListItemClick(ListView l, View v, int position, long id) {
  Gender_Data gen_d = list.get(position);
  if (null != gen_d) {
   gen_d.set_gender_checkbox(!gen_d.is_gender_checkbox());
   l.invalidateViews();
  }
 }

 ArrayList<Gender_Data> list;
 private Button ok_btn;
 private Button cancle_btn;
 private Button select_btn;


 // 메인 함수 부분
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.gender_select);


  select_btn = (Button)findViewById(R.id.gender_all_selector);
  select_btn.setOnClickListener(this);
  ok_btn = (Button) findViewById(R.id.gender_confirm);
  ok_btn.setOnClickListener(this);
  cancle_btn = (Button) findViewById(R.id.gender_cancle);
  cancle_btn.setOnClickListener(this);
  
  list = new ArrayList<Gender_Data>();
  for (int i = 0; i < Notifications.array_gender.length; i++) {
   list.add(new Gender_Data(Notifications.array_gender[i]));
  }

  GenderAdapter adt_gender = new GenderAdapter(this,
    R.layout.gender_select_second, list);
  setListAdapter(adt_gender);

 }

 // 버튼 클릭시 동작
 public void onClick(View v) {
  switch (v.getId()) {
  case R.id.gender_all_selector:
   break;
  case R.id.gender_confirm:
   finish();
   break;
  case R.id.gender_cancle:
   finish();
   break;
  }
 }
}