리스트뷰목록에서 선택하면 수정메뉴가 나와서 삭제버튼을 누르면 삭제가 되게 할려는데

삭제버튼 클릭시 '삭제,취소' 창이 뜨게하는것 까진 했는데 삭제 클릭시 삭제가 안되고 있습니다..

삭제클릭시 삭제가 되고 리스트뷰로 복귀 하도록 할려면 어떻게 해야할까요?


34523.JPG

package com.lecture.friendlist;


import android.app.Activity;

import android.app.AlertDialog;

import android.app.Dialog;

import android.content.DialogInterface;

import android.database.Cursor;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;


import com.lecture.friendlist.db.FriendDBAdapter;

import com.lecture.friendlist.db.FriendVO;


public class Adjust extends Activity {


private EditText mName;

private EditText mBirthday; 

private EditText mPhone; 

private EditText mEmail; 

private EditText mMemo ;

private FriendDBAdapter mdbAdapter;

private FriendDBAdapter mDBAdapter;

long selectedItem =-1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.adjustpage);

Button adjustBtn = (Button) findViewById(R.id.button1);

Button deleteBtn = (Button) findViewById(R.id.button2);


mDBAdapter = new FriendDBAdapter(this);

mName =(EditText) findViewById(R.id.editText1);

mPhone =(EditText) findViewById(R.id.editText2);

mEmail =(EditText) findViewById(R.id.editText3);

mBirthday =(EditText) findViewById(R.id.editText4);

mMemo =(EditText) findViewById(R.id.editText5);

mdbAdapter = new FriendDBAdapter(getApplicationContext());

Bundle bundle = getIntent().getExtras();

if(bundle!=null){// modify

final long id = bundle.getLong("item");

mdbAdapter.open();

Cursor c = mdbAdapter.fetchFriendDataByRowID(id);

mdbAdapter.close();

String name = c.getString(c.getColumnIndex(FriendDBAdapter.KEY_NAME));

String phone = c.getString(c.getColumnIndex(FriendDBAdapter.KEY_PHONE));

String email = c.getString(c.getColumnIndex(FriendDBAdapter.KEY_EMAIL));

String birthday = c.getString(c.getColumnIndex(FriendDBAdapter.KEY_BIRTHDAY));

String memo = c.getString(c.getColumnIndex(FriendDBAdapter.KEY_MEMO));

mName.setText(name);

mBirthday.setText(birthday);

mPhone.setText(phone);

mEmail.setText(email);

mMemo.setText(memo);

adjustBtn.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

FriendVO vo = new FriendVO();

vo.setBirthday(mBirthday.getText().toString());

vo.setName(mName.getText().toString());

vo.setPhone(mPhone.getText().toString());

vo.setEmail(mEmail.getText().toString());

vo.setMemo(mMemo.getText().toString());

mdbAdapter.open();

long result = mdbAdapter.modifyFriendData(id,vo);

mdbAdapter.close();

finish();

}

});

}

else{ //insert

adjustBtn.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

FriendVO vo = new FriendVO();

vo.setBirthday(mBirthday.getText().toString());

vo.setName(mName.getText().toString());

vo.setPhone(mPhone.getText().toString());

vo.setEmail(mEmail.getText().toString());

vo.setMemo(mMemo.getText().toString());

mdbAdapter.open();

long result = mdbAdapter.createFriendData(vo);

mdbAdapter.close();

finish();

}

});

}

deleteBtn.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

showDialog(DIALOG_DELETE);

}

});

}

//제 생각엔 여기부분을 수정해야 할것 같은데요..

private void deleteFriend(){

if(selectedItem!=-1){

boolean isdelete = mDBAdapter.deleteFriendData(selectedItem);

updateAdapter();

if(!isdelete)

Toast.makeText(getApplicationContext(), "삭제 하지 못했습니다.",Toast.LENGTH_SHORT).show();

}

}

private static final int DIALOG_DELETE = 1;

@Override

protected Dialog onCreateDialog(int id) {

// TODO Auto-generated method stub

switch (id) {

case DIALOG_DELETE:

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setMessage("삭제 하시겠습니까?")

      .setCancelable(false)

      .setPositiveButton("삭제", new DialogInterface.OnClickListener() {

          public void onClick(DialogInterface dialog, int id) {

               deleteFriend();

          }

      })

      .setNegativeButton("취소", new DialogInterface.OnClickListener() {

          public void onClick(DialogInterface dialog, int id) {

               dialog.cancel();

          }

      });

AlertDialog alert = builder.create();

return alert;

}

return null;

}

@Override

protected void onResume() {

mDBAdapter.open();

updateAdapter();

super.onResume();

}

@Override

protected void onPause() {

mDBAdapter.close();

super.onPause();

}

//임시 데이터

private String[] items;

private long[] rowids;

public void updateAdapter(){


Cursor c = mDBAdapter.fetchAllFriendData();

items = new String[c.getCount()];

rowids = new long[c.getCount()];

int i=0;

if(c.moveToFirst()){

do{

items[i] = c.getString(c.getColumnIndex(FriendDBAdapter.KEY_NAME));

rowids[i++] = c.getLong(c.getColumnIndex(FriendDBAdapter.KEY_ROWID));

}while(c.moveToNext());

}

}

}