안드로이드 개발 질문/답변
(글 수 45,052)
우선 이러한 형식으로 디비의 값을 가져오게 됩니다...
groupsCursor = mDbHelper.fetchAllGroups();
startManagingCursor(groupsCursor);
from = new String[] {GroupsDbAdapter.KEY_TITLE};
to = new int[]{R.id.cb1 };
groups = new SimpleCursorAdapter(this, R.layout.checkbox,groupsCursor, from, to);
여기서 R.id.cb1 은 CheckBox이고
R.layout.checkbox에 R.id.cb1이 있습니다.
이것들은 GroupListActivity에 listView에 붙여집니다.
GroupListActivity 에 setContentView(R.layout.grouplist); 되어있는 R.layout.grouplist 에는
<ListView
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"/>
이 있습니다.
제가 의도한것은 GroupListActivity라는곳에 listView가 있고 그 리스트뷰에 체크박스를 넣고
db의 내용을 리스트로 된 체크박스를 만드는것입니다.
여기까지는 되었는데 체크박스를 선택하고 그 선택한 checkbox 아이템을 삭제하려고합니다.
삭제를 하려면 선택한 체크박스의 아이디나 positoin을 가져와야 하는데
가져오지를 못하겠습니다..
getListView().getSelectedItemId()로 하면 리스트뷰의 선택한 아이템의 아디디를 가져오는데 저는 체크박스의 아이디를 가져오고싶습니다..
어떤식으로 가져와야 될까요?
아직 개념이 덜잡혀서 계속 헤매고 있습니다.. ㅠㅠ
groupsCursor = mDbHelper.fetchAllGroups();
startManagingCursor(groupsCursor);
from = new String[] {GroupsDbAdapter.KEY_TITLE};
to = new int[]{R.id.cb1 };
groups = new SimpleCursorAdapter(this, R.layout.checkbox,groupsCursor, from, to);
여기서 R.id.cb1 은 CheckBox이고
R.layout.checkbox에 R.id.cb1이 있습니다.
이것들은 GroupListActivity에 listView에 붙여집니다.
GroupListActivity 에 setContentView(R.layout.grouplist); 되어있는 R.layout.grouplist 에는
<ListView
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"/>
이 있습니다.
제가 의도한것은 GroupListActivity라는곳에 listView가 있고 그 리스트뷰에 체크박스를 넣고
db의 내용을 리스트로 된 체크박스를 만드는것입니다.
여기까지는 되었는데 체크박스를 선택하고 그 선택한 checkbox 아이템을 삭제하려고합니다.
삭제를 하려면 선택한 체크박스의 아이디나 positoin을 가져와야 하는데
가져오지를 못하겠습니다..
getListView().getSelectedItemId()로 하면 리스트뷰의 선택한 아이템의 아디디를 가져오는데 저는 체크박스의 아이디를 가져오고싶습니다..
어떤식으로 가져와야 될까요?
아직 개념이 덜잡혀서 계속 헤매고 있습니다.. ㅠㅠ
안드로이드를 매우 사랑하는!
2010.09.16 11:58:11
그렇다면 db의 내용을 그저 checkbox에 넣는 방법은 없나요?
CustomAdapter라...
좀더 고민을 해봐야할것 같네요..
그냥 가자님 감사합니다..
ㅠㅠ
CustomAdapter라...
좀더 고민을 해봐야할것 같네요..
그냥 가자님 감사합니다..
ㅠㅠ
2010.09.16 12:09:27
꼭 아디만 가져오고싶은것은 아닙니다만, db의 내용이 뿌려진 체크박스중에서 제가 체크박스를 선택하고 삭제버튼을 누르면 db의 내용이 삭제 되게 하려고 합니다...
그것이 어떤방법이던 원하는 db의 내용만 삭제하면 됩니다..
에휴~~~
그것이 어떤방법이던 원하는 db의 내용만 삭제하면 됩니다..
에휴~~~
2010.09.16 12:15:33
문맥상 의문점....
1. 정말 하려고 하는게 뭡니까?
A. 선택후 확인을 누르면 그냥 DB에서 레코드 날린다. 그리고 이후 목록에서 그넘들은 사라진다.
B. 선택후 확인을 누르면 DB는 가만 있고 그냥 목록상에서 체크박스만 안보이게 하고 싶다.
만약 A라면 저건 검색 많이 될건데요... setChoiceMode 인가... 이것만 대충 검색해도 쉽게 찾아집니다.
B 라면 저건 CustomAdapter 써서 하는 방법밖에 없을거 같은데요...
뭐 B의 변형으로 DB 레코드 내용이 update 되고 체크박스 지우기 같은 형태가 된다면 그냥도 되겠죠...
1. 정말 하려고 하는게 뭡니까?
A. 선택후 확인을 누르면 그냥 DB에서 레코드 날린다. 그리고 이후 목록에서 그넘들은 사라진다.
B. 선택후 확인을 누르면 DB는 가만 있고 그냥 목록상에서 체크박스만 안보이게 하고 싶다.
만약 A라면 저건 검색 많이 될건데요... setChoiceMode 인가... 이것만 대충 검색해도 쉽게 찾아집니다.
B 라면 저건 CustomAdapter 써서 하는 방법밖에 없을거 같은데요...
뭐 B의 변형으로 DB 레코드 내용이 update 되고 체크박스 지우기 같은 형태가 된다면 그냥도 되겠죠...
어차피 리스트 뷰 특성상 이렇게 손대봐야 스크롤만 땡기면 원복될겁니다.
결국 아이템들의 State를 Adapter에서 관리하고 이를 출력에 반영하는 방식 밖에 없다고 봅니다.
CustomAdapter 만들어서 쓰셔야 겠네요...