안드로이드 개발 질문/답변
(글 수 45,052)
어젠가 그저께.. listview에 checkbox 에 대해서 쓴 사람입니다.
아답터는 커스텀으로 만들었으며, 너무 힘들엇음.ㅠ
CheckedTextView 와 isItemChecked 를 이용하여서.. 꾸역꾸역
체크된 값도 알게 되었고! 변화도 잘되고~ 암튼 너무 감사합니다.!!!
그런데.ㅠ.ㅠ 또다른 문제에 도달앗습니다.ㅠ
산넘어 산이라니.ㅠ
근데 이번산은 좀 작은듯??
이게 전체 체크 버튼을 만들고 싶어서 하나 만들었습니다.!!
그리고 문제가 뭐냐면~ (알고리즘문제가 아님) 제대로 동작을 안하네요...그니깐..음..
OnItemClcikListner로 값 변화를 주어 list에 있는 것들은 잘 된답니다.
커스텀 안에 public View getView(int position, View convertView, ViewGroup parent) {~~}
대충 이런 놈이 있는데..
여기서
CheckedTextView setChecked;
setChecked=(CheckedTextView)convertView.findViewById(R.id.CheckButton);
setChecked.setChecked(arSrc.get(position).m_ischeked);
이렇게 하고~
OnItemClcikListner에서
myAdapter.arSrc.get(arg2).m_ischeked=myListView.isItemChecked(arg2);
대충 이런식이라.. 눌렀을때마다 잘 변하는데..
이외에 별도로 만든 클릭리스너가 있어요!!<-이놈이 전체선택 버튼인데..문젠!!!
myAdapter.arSrc.get(i).m_ischeked=true; 대충이런식으로*( i는 처음부터 끝까지 돌리기)
이게 바로 변하는게 아니라 이걸 누른 다음에..
list에 있는 것을 한번 건드려야 동작을 해서.. 좀 이상하더라고요ㅠ.ㅠ.
이놈이 변경되었다고 부르는 방법을 여쭙고자 합니다.
원래 adapter의
public View getView(int position, View convertView, ViewGroup parent)
요놈 부르려고했는데..이건 아닌거 같고.ㅠ.ㅠ Refresh하는 방법좀 알려주세요..
아답터는 커스텀으로 만들었으며, 너무 힘들엇음.ㅠ
CheckedTextView 와 isItemChecked 를 이용하여서.. 꾸역꾸역
체크된 값도 알게 되었고! 변화도 잘되고~ 암튼 너무 감사합니다.!!!
그런데.ㅠ.ㅠ 또다른 문제에 도달앗습니다.ㅠ
산넘어 산이라니.ㅠ
근데 이번산은 좀 작은듯??
이게 전체 체크 버튼을 만들고 싶어서 하나 만들었습니다.!!
그리고 문제가 뭐냐면~ (알고리즘문제가 아님) 제대로 동작을 안하네요...그니깐..음..
OnItemClcikListner로 값 변화를 주어 list에 있는 것들은 잘 된답니다.
커스텀 안에 public View getView(int position, View convertView, ViewGroup parent) {~~}
대충 이런 놈이 있는데..
여기서
CheckedTextView setChecked;
setChecked=(CheckedTextView)convertView.findViewById(R.id.CheckButton);
setChecked.setChecked(arSrc.get(position).m_ischeked);
이렇게 하고~
OnItemClcikListner에서
myAdapter.arSrc.get(arg2).m_ischeked=myListView.isItemChecked(arg2);
대충 이런식이라.. 눌렀을때마다 잘 변하는데..
이외에 별도로 만든 클릭리스너가 있어요!!<-이놈이 전체선택 버튼인데..문젠!!!
myAdapter.arSrc.get(i).m_ischeked=true; 대충이런식으로*( i는 처음부터 끝까지 돌리기)
이게 바로 변하는게 아니라 이걸 누른 다음에..
list에 있는 것을 한번 건드려야 동작을 해서.. 좀 이상하더라고요ㅠ.ㅠ.
이놈이 변경되었다고 부르는 방법을 여쭙고자 합니다.
원래 adapter의
public View getView(int position, View convertView, ViewGroup parent)
요놈 부르려고했는데..이건 아닌거 같고.ㅠ.ㅠ Refresh하는 방법좀 알려주세요..
2010.08.12 17:20:50
이전에 쓰신글 첫 리플을 잘 따라가시믄
클릭 리스너를 굳이 쓸 필요가 없긴 한데...
체크 관리는 리스트에서도 가능하구요 제가 리플 거기다 달았을겁니다. 이전에 쓴글...
클릭 리스너를 굳이 쓸 필요가 없긴 한데...
체크 관리는 리스트에서도 가능하구요 제가 리플 거기다 달았을겁니다. 이전에 쓴글...
2010.08.12 17:29:55
네넴~그냥가자님 ㅋㅋ감사합니다.ㅋ 그전 리플에서 말씀 못드렸는데..
CheckedTextView <-요놈의 존재를 알아서 어찌어찌해서 되었네요..에효.ㅋ
기존의 껏으로 꾸역꾸역 맞추다보니..ㅋ;
implements Checkable
요놈하고..
public boolean isChecked() {
checkable = (Checkable) findViewById(checkableId);
if(checkable == null)
return false;
return checkable.isChecked();
}
@Override
public void setChecked(boolean checked) {
checkable = (Checkable) findViewById(checkableId);
if(checkable == null)
return;
checkable.setChecked(checked);
}
이런거로 구현 가능하겠네요.ㅠ.ㅠ지금 봤네요..에효효..
이게 안되면 postinvalidate() 함수도 있구요..
List.invalidate() 사용해보세요..
그리고 invalidate 사용 안하고도 알고리즘 잘 짜시면 가능하실듯 한데요;;;
저도 이부분 구현을 해본적이있어서;;;