마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리스트뷰가 데이터 베이스를 잘 삭제하지 못합니다 ㅜㅜ [closed]

0 추천

 

안녕하세요

리스트뷰에서 아이템을 클릭하면 디비에서 삭제를 하려 합니다.

로그값에 찍힌것을 보면 디비 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;
}

 

질문을 종료한 이유: 해결하였습니다~!
ana_jini (190 포인트) 님이 2015년 9월 24일 질문
ana_jini님이 2015년 9월 24일 closed
...