안녕하세요
sqlite 로 디비 연동해서 하고있는데요 연동은 이클립스 assets 폴더에 만들어진 db파일 넣어서 폰으로 복사해서 사용하고 있습니다.
여기서 delete를 해야되는데 리스트뷰 에있는 목록을 삭제합니다.
선택된 리스트뷰의 rowid로 삭제를 하는데 삭제가 안되네요.
MainView.getInstance().headerRightBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String str = m_msgcontent.toString();
System.out.println(str);
if(MainView.getInstance().headerRightBtn.getText()=="삭 제"){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
// 제목셋팅
alertDialogBuilder.setTitle("삭 제");
// AlertDialog 셋팅
alertDialogBuilder
.setMessage("선택하신 메시지를 삭제 하시겠습니가?")
.setCancelable(false)
.setPositiveButton("네",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog, int id) {
//DB 연동 //
DBManager mys = new DBManager(context,PACKAGE_DIR+"/"+DATABASE_NAME,null,1);
SQLiteDatabase dbs = mys.getWritableDatabase();
String str = Shared.getSharedPreference(context, "rowids");
System.out
.println(str);
/* String sql = "delete from message where rowid ="+ str;
System.out.println(sql);
db.execSQL(sql);*/
dbs.delete("message", "rowid="+str, null);
m_adapters.notifyDataSetChanged();
m_isVisible=false;
MainView.getInstance().headerRightBtn.setText("편 집");
dbs.close();
mys.close();
}
})
이부분이 삭제 버튼 눌렀을 경우 다이얼로그가 뜨면서 네 버튼을 누르면 db연동해서 delete를 하는 부분입니다.
그런데 리스트뷰에는 삭제가 되는데 다시 어플 껏다가 키면 그대로 원상복구 되어있네요.
DBManeger라는 클래스를 만들었습니다.
package com.m.italk.util;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DBManager extends SQLiteOpenHelper{
public DBManager(final Context m_context, String name, CursorFactory factory,
int version) {
super(m_context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
어떤게 문제일까요?