안드로이드 개발 질문/답변
(글 수 45,052)
현재 액티비티에서
car_name car_color
1. k5 black
2. k9 red
3. k7 yellow
이런식으로 db 에 저장을 합니다
그리고 다른 액티비티에서
car_name 목록을
1.k5
2.k9
3.k7
이런 식으로 activitylist 를 사용하여 list 형식으로 출력을 해 주었습니다.
k5 를 클릭을 하면 car_color 목록이 나오도록 하고 싶은데
어떻게 해야 됡요?
클릭을 해야 되기 때문에 OnlistItemClick 을 사용을 했습니다
car_color 목록이 나오게 하고싶은데 어떻게해야될가요?
protected void onListItemClick(android.widget.ListView l, View
v,
int position, long id)
int position, long id)
이 함수에서 마지막인 id 가 데이터베이스의 id 와 연동이 되나요?
activitylist는 뭐죵... ListActivyty ? ArrayList??
뭐 중요한건 아니니 패스하고..
리스트로 보여줄때 현재의 경우는 제가 볼땐 데이터를 미리 다 로딩해두시는게 좋을듯 하네요.
차 이름을 리스트로 보여주기 위해 DB에서 차이름을 가져오셨겠죠.
마찬가지로 차색깔도 ArrayList 같은거에다가 미리 가져다 높으시고,
클릭 리스너에 있는 position 값으로 get(position)으로 불러오시면 되겠지요.
만약 클릭시 DB에서 불러오신다면 클릭할때마다 DB조회를 하므로 그다지 좋은 방법은 아닐것 같네요.
꼭 이런 방식으로 해야 한다면 물논 가능은 하겠지만 이때 DB를 조회할땐 약간의 위험 부담이 있겠네요.
이 경우 DB 내용이 차이름과 차색깔 밖에 없기때문에 DB에서 색깔을 찾기위해 조회시 select 조건을 선택한 차 이름을 통해서 찾아야 할텐데 그렇다면 만약 K7 white 와 K7 black가 있다면 어떻게 될까요? K7이라는 차 이름으로 조회시 2가지의 색깔이 뜨겠지요.
이걸 의도하신거라면 이렇게 하셔도 되겠지만.. 그렇지 않다면 원하는 결과가 나오지 않겠지용.
무엇보다도.. 클릭시마다 DB에 접근하는 불필요한 동작이 너무 많아서 별로라고 말하고프네요..