
(((혹시 aucd29님께서 이 글 을 다시 보시면 1시간정도 전 질문의 제 댓글 좀 봐주셨으면 감사하겠습니다.))
첫번째는요~
디비 리스트뷰에서 ALL DEL 버튼을 클릭시 모든 데이터들을 삭제하게끔 코딩했습니다.
실제적으로 디비에서 삭제는 되지만,
뷰상에서는 변화가 없어서 질문드립니다.
뭐 껏다다시 켜면 빈 화면으로 보이지만,, 앱을 재구동하지 않고
DELETE ALL 버튼을 누름과 동시에 리스트뷰가 비어지는 기능을 구현하고 싶습니다.
public void onClick(View v) {
SQLiteDatabase db;
String sql;
switch(v.getId()) {
case R.id.deleteAll :
db = dbHelper.getWritableDatabase();
sql="DELETE FROM notice;";
db.execSQL(sql);
Log.d("sql", "delete all !!!");
adapter.notifyDataSetChanged();
Toast.makeText(getBaseContext(), "deleted all !!!", Toast.LENGTH_SHORT).show();
break;
}
두번째는요~
DELETE 버튼을 눌렀을대 해당 포지션을 읽어서 리스트뷰에서 삭제하도록 코딩했습니다.
리스트뷰에서 즉시 삭제는 되지만 이걸 다시 DB로 저장해야
앱을 재구동했을때 해당데이터가 보이지 않게 되자나요.
지금 현재는 단순 현재에서 삭제만 될뿐 db에 재저장하는 방법을 알고 싶습니다.
부탁드릴께요
AlertDialog.Builder alert_confirm = new AlertDialog.Builder(DataActivity.this);
alert_confirm.setMessage("Detail DATA").setCancelable(true).setPositiveButton("DATA",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 'YES'
Intent intent = new Intent(DataActivity.this, ReportActivity.class);
intent.putExtra("arraydata", str);
startActivityForResult(intent, 0);
}
}).setNegativeButton("DEL",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 'No'
//item.remove(position);
// db.execSQL();
// cursor.requery();
ListView mList = (ListView)findViewById(R.id.list);
mList.setAdapter(adapter);
adapter.remove(str);
adapter.notifyDataSetChanged();
return;
}
});
AlertDialog alert = alert_confirm.create();
alert.show();
}
};