안드로이드 개발 질문/답변
(글 수 45,052)
footer = getLayoutInflater().inflate(R.layout.custom_list_view, null, false);
ImageView imgRep = (ImageView) footer.findViewById(R.id.imgRep);
TextView txtRepText = (TextView) footer.findViewById(R.id.txtRepText);
TextView txtRepTime = (TextView) footer.findViewById(R.id.txtRepTime);
while("Array길이만큼") {
"Array가져온 값들을 imgRep, txtRepText, ttRepTime에 설정"
mainLayout.addView(footer);
mainLayout.setOnClickListener(clickFooter);
}
OnClickListener clickFooter =new View.OnClickListener() {
public void onClick(View v) {
"addView에서 선택한 것의 인덱스를 전달 예정"
}
}
위에 내용을 보시면 알겠지만... 이미지, 텍스트를 addView 로 반복해서 뿌려 줍니다.
이 상황에서... 4번째 추가된 addView를 가져오고 싶은데...
위와 같이 하면... 모든 addView 똑같은 실행이 되 버립니다.
인덱스를 가져 올 수 없기에...
ListView면 쉽게 되겠지만.. addView 이기에...
혹시 여러번 추가한 addView 에서도 선택된것의 인덱스를 가져올 수 있는 방법이 있을까요?
2011.07.04 10:50:23
@크레이지 헌터
setTag로 값 설정은 되는데... setOnClickListener를 할때. 어떻게 getTag를 넘겨 줄 수 있나요?
setOnClickListener안에서 getTag를 가져 올 수가 없던데요...
2011.07.04 13:23:24
@작은광명
setID를 한 다음에... 리스너에서 뭐가 선택 된줄 알고 받을수 있을련지.... 궁금합니다.
OnClickListener에서 몇번째 선택된건지? 어느ID가 선택된건지.. 구분을 할 수가 없기에.. 질문을 했습니다.
2011.07.04 13:55:17
모두들 죄송합니다. 제가 잘 몰랐습니다.
public void onClick(View v) {
v.getId()
v.getTag()
둘다 가능 하더군요....
알려주신것을 응용해서 해결 했습니다.
바쁘신데 덧글을 달아주신 크레이지헌터님, 작은광명님 감사합니다.




setTag등으로 인덱스를 지정해서 넣으면 가능할 것도 같습니다.