안녕하세요 초보 개발자 입니다..

커스텀 어뎁터 안에서 버튼 클릭시(삭제버튼) 새로고침이 되도록 하고 싶은데

어뎁터 안에서는 notifydataSetChanged();가 먹히지 않나요?? 어떻해 방법이 없을지...삭제는되는데 새로고침이 안되서

좀 도와주세요.

 

public class Schedule_List_Adapter extends ArrayAdapter<Schedule_List_Data> implements OnClickListener {
 private ArrayList<Schedule_List_Data> items;

 Context context;

 public Schedule_List_Adapter(Context context, int textViewResourceId, ArrayList<Schedule_List_Data> items) {
  super(context, textViewResourceId, items);
  this.context = context;
  this.items = items;
 }

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  View v = convertView;
  // TODO Auto-generated method stub
  if (v == null) {
   LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   v = vi.inflate(R.layout.schedule_list, null);
  }
  Schedule_List_Data schedule_List_Data = items.get(position);

  if (schedule_List_Data != null) {
   TextView tv_schedule_title = (TextView) v.findViewById(R.id.tv_schedule_title);
   ImageButton ib_schedule_delete = (ImageButton) v.findViewById(R.id.ib_schedule_delete);
   ib_schedule_delete.setTag(position);
   ib_schedule_delete.setOnClickListener(Schedule_List_Adapter.this);
   tv_schedule_title.setText(schedule_List_Data.getTitle());
   ib_schedule_delete.setBackgroundDrawable(schedule_List_Data.getImage_delete());
   ib_schedule_delete.setTag(position); // 수정,삭제에 활용
   ib_schedule_delete.setFocusable(false);
  }

  return v;
 }

 public void onClick(View v) {
  App.select_schedule_idx = (Integer) v.getTag();
  (new Schedule_DeleteTask()).execute(null, null, null);
 }

 private class Schedule_DeleteTask extends AsyncTask<Context, Integer, Integer> {
  private ProgressDialog progressDialog;
  int intRes;
  JSONArray jArray;

  public Schedule_DeleteTask() {
   intRes = 3;
   jArray = null;
  }

  protected void onPreExecute() {
   super.onPreExecute();
   progressDialog = new ProgressDialog(context);
   progressDialog.setMessage("잠시만기다려주세요");
   progressDialog.setIndeterminate(true);
   progressDialog.setCancelable(true);
   progressDialog.show();
  }

  protected void onProgressUpdate(Integer... values) {
   super.onProgressUpdate(values);
  }

  protected void onCancelled() {
   super.onCancelled();
  }

  protected Integer doInBackground(Context... params) {

   ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
   nameValuePairs.add(new BasicNameValuePair("svccode", App.svccode));
   nameValuePairs.add(new BasicNameValuePair("regdate", App.select_date));
   nameValuePairs.add(new BasicNameValuePair("class_idx", App.user_class_idx));
   nameValuePairs.add(new BasicNameValuePair("sch_idx", App.select_day_schedule_idx[App.select_schedule_idx]));

   jArray = Util.callAsp("ScheduleDelete.asp", nameValuePairs);

   return intRes;
  }

  // doInBackground 후 싱행
  protected void onPostExecute(Integer result) {
   super.onPostExecute(result);

   try {
    if (jArray == null) {
     Util.showShortToast(context, "서버와의 통신을 실패하였습니다.\n네트워크 설정을 확인하시고 잠시후에 다시 시도하십시오.");
    } else {
     JSONObject jso = jArray.getJSONObject(0);
     final int return_code = jso.getInt("return_code");

     if (return_code == 1) {
      Util.showShortToast(context, "삭제완료");
     } else if (return_code == -1) {
      Util.showShortToast(context, "서비스 코드 존재하지 않음");
     } else if (return_code == -2) {
      Toast.makeText(context, "어린이집 전체 일정은 삭제할 수 없습니다", 4000).show();
     } else if (return_code == -99) {
      Util.showShortToast(context, "코드이상");
     }
    }
   } catch (Exception e) {
    e.printStackTrace();
   }

   finally {
    progressDialog.dismiss();
    progressDialog = null;
    notifydataSetChanged(); // 왜 안먹힐까요...
   }
  }
 }
}

class Schedule_List_Data {
 private String title;
 private Drawable Image_delete;

 public Schedule_List_Data(String _title, Drawable _Image_delete) {
  this.title = _title;
  this.Image_delete = _Image_delete;
 }

 public void setTitle(String title) {
  this.title = title;
 }

 public String getTitle() {
  return title;
 }

 public void setImage_delete(Drawable image_delete) {
  Image_delete = image_delete;
 }

 public Drawable getImage_delete() {
  return Image_delete;
 }
}