안녕하세요
리스트뷰에서 아이템을 클릭하면 디비에서 삭제를 하려 합니다.
로그값에 찍힌것을 보면 디비 delete직전까지 들어왔는데
막상 테이블을 보면 삭제 컬럼이 제대로 삭제 되지 않네요..
첫번째로는 삭제 안되고 다음 튜플이나 다른 버튼들 누르다 보면 한참뒤에 삭제 되있고 그럽니다..
반응이 무지 느린데 무슨 이유일 까요...??ㅜㅜ
아래는 먼저 log창입니다
09-24 01:19:58.728 8543-8543/com.example.anna.real D/OpenGLRenderer﹕ Enabling debug mode 0
09-24 01:19:58.798 8543-8543/com.example.anna.real I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@426e17e8 time:8428047
09-24 01:20:05.588 8543-8543/com.example.anna.real I/Timeline﹕ Timeline: Activity_launch_request id:com.example.anna.real time:8434833
09-24 01:20:05.808 8543-8543/com.example.anna.real I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@42756720 time:8435053
09-24 01:20:07.338 8543-8543/com.example.anna.real E/진행﹕ babydelete진입전 포지션왓나???0
09-24 01:20:07.338 8543-8543/com.example.anna.real E/진행﹕ position:0
09-24 01:20:07.338 8543-8543/com.example.anna.real E/진행﹕ deletebabyinfo 테이블 삭제한다 들어옴
09-24 01:20:07.348 8543-8543/com.example.anna.real I/Timeline﹕ Timeline: Activity_launch_request id:com.example.anna.real time:8436591
09-24 01:20:07.518 8543-8543/com.example.anna.real I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@4278ed08 time:8436769
09-24 01:20:11.608 8543-8543/com.example.anna.real I/Timeline﹕ Timeline: Activity_launch_request id:com.example.anna.real time:8440857
09-24 01:20:11.778 8543-8543/com.example.anna.real I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@427a8c08 time:8441026
09-24 01:20:16.258 8543-8543/com.example.anna.real I/Timeline﹕ Timeline: Activity_launch_request id:com.example.anna.real time:8445502
09-24 01:20:16.708 8543-8543/com.example.anna.real I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@427be200 time:8445957
아래는 리스트뷰의 아이템 클릭 부분 소스입니다
public void onClick(View v) {
switch (v.getId()) {
case R.id.babyselect_ok:
Toast.makeText(getApplicationContext(), "선택되었습니다", Toast.LENGTH_LONG).show();
break;
case R.id.babydelete_ok:
try {
id = Long.parseLong(v.getTag().toString());
Log.e("진행", "babydelete진입전 포지션왓나???" + id);
delete(id);
} catch (SQLException e) {
e.printStackTrace();
}
adapter.notifyDataSetChanged();
break;
default:
break;
이것이 아래의 delete함수를 호출하구요
public void delete(Long id) throws SQLException {
Log.e("진행", "position:" + id);
if(id != null) {
vaccinDBOpenHelper.deleteBabyInfoColumn(id);
}else
{
Log.e("id가 안넘어온다 널이다", "position:" + id);
}
Toast.makeText(getApplicationContext(), "삭제되었습니다.", Toast.LENGTH_LONG).show();
Intent intent=new Intent(SelectBaby.this, MainActivity.class);
startActivity(intent);
finish();
}
deleteBabyInfoColumn는 아래의 함수를 호출합니다
// 아이정보 삭제하기
public boolean deleteBabyInfoColumn(long id) {
Log.e("진행","deletebabyinfo 테이블 삭제한다 들어옴");
return database.delete(BabyInfoDB.CreateDB.TABLE_BABYINFO, "_id=" + id, null) > 0;
}