2013-05-05 3 views
0

sqlite db의 데이터를 채우는 listview가 있습니다. 목록보기에서 항목을 클릭하면 목록보기 항목을 자세히 보여주는 새 페이지로 이동합니다. 해당 페이지에는 삭제 버튼이 있습니다.이 버튼을 클릭하면 목록보기와 데이터베이스에서 항목이 제거됩니다.목록보기와 관련된 Sqlite 데이터베이스에서 항목을 삭제하는 방법

어떻게 할 수 있습니까?

+0

질문이 명확해야합니다. sqllite db에서 행 데이터를 삭제할 때 또는 listview를 다시 작성하는 데 어려움이있는 경우 적어도 이미 시도한 것을 게시하십시오. – CRUSADER

답변

1

sqlite에서 listview를 채울 때 sqlite 테이블의 레코드 ID로 배열을 채 웁니다. 해당 배열의 선택한 레코드 ID를 listview 세부 정보 페이지로 전달하십시오. 그런 다음 삭제 버튼의 onClick에서 sqlite에서 레코드를 삭제하고 데이터베이스에서 목록 뷰를 다시 그립니다.

+0

이 작업을 수행하는 방법에 대한 샘플을 sqlite와 연계하여 보여줄 수 있습니까? –

0

솔루션 :

1. First solution: 

사용자가 클릭 목록보기 항목은 사용자가 삭제를 누르면하고, 그리고 만약 당신이 항목의 세부 활동을 보여주는 다음 활동 항목 위치를 보낼 때 사용자가 다시 목록보기 활동이 위치를 다시 보낼 때 listView 활동에. 그리고 여기에서 확인이 항목을 제거하고 목록보기를 새로 고칠 필요 예보다 위치하는 경우 :

listViewAdapter.remove(listViewAdapter.getItem(position)); 
    listViewAdapter.notifyDataSetChanged(); 

For send data to detail Activity and for give data from detail 
Activity use onActivityResult method, see more information: 

Getting a Result from an Activity

2. Second solution: 

응용 프로그램 만들기 클래스는 응용 프로그램을 확장하고있다 사용할 수 있습니다. Application 클래스의

int selectedItemPosition 
boolean itemDeleted 

필드를 생성하십시오. 사용자가 항목을 클릭하면이 항목 위치가이 필드에 설정되고 itemDeleted 값은 false로 설정됩니다. 사용자가 세부 활동에서 삭제 버튼을 클릭하면 itemDeleted 값을 true로 설정하고 사용자 back listView 활동이 항상 itemDeleted 값을 확인할 때 true로 설정하면이 항목을 삭제하고 listView를 새로 고칩니다.

관련 문제