근데 삭제가 안되네요..ㅠㅠ
새 list 추가는 되는데, 얘가 삭제를 했는데, 안없어지네요..
DB상에서는 없어진 것 같은데, 화면상에는 그대로..
없애면 하나만 없어지는 것이 아니라 list 자체가 다 날라간것 처럼 안됩니다
getListView().setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View view, int position, long id) {
ArrayAdapter<Address> adapter = (ArrayAdapter<Address>)arg0.getAdapter();
Address address = adapter.getItem(position);
item.get(position);
Intent intent = new Intent( DB_MEMOActivity.this, Note.class );
intent.removeExtra("_ID"); //putExtra("_ID", (int)id);
startActivityForResult( intent, EDIT_CODE);
Toast.makeText(getBaseContext(), address.title, Toast.LENGTH_SHORT).show();
}
});
getListView().setOnItemLongClickListener(new OnItemLongClickListener(){
public boolean onItemLongClick(AdapterView<?> arg0, View view, int position, long id) {
// TODO Auto-generated method stub
ArrayAdapter<Address> adapter = (ArrayAdapter<Address>)arg0.getAdapter();
Address address = adapter.getItem(position);
item.remove(id);
Toast.makeText(getBaseContext(), address.title, Toast.LENGTH_SHORT).show();
mOpenHelper.retrieveData(item);
mAdapter.notifyDataSetChanged();
return false;
}
});
혹시 뭐 잘못한 부분이 있나요?ㅜㅜ
ArrayAdapter<Address> adapter = (ArrayAdapter<Address>)arg0.getAdapter();
Address address = adapter.getItem(position);
item.remove(id);
adapter.remove(id);
Toast.makeText(getBaseContext(), address.title, Toast.LENGTH_SHORT).show();
mOpenHelper.retrieveData(item);
// mAdapter.notifyDataSetChanged(); <--필요없으
return false;
이방식으로 아답터의 내용을 가치 지워주면됩니다.
그리고 notifyDataSetChanged() 메서드는 ArrayAdapter의 remove가 되고 자동실행됩니다. 안하셔도되요




arrayList 초기화 해주시고 cursor 부분 다시 불러온 다음 setAdapter 하는 방법으로 하시는게 좋을것 같네요.