안드로이드 개발 질문/답변
(글 수 45,052)
예를 들자면 카카오톡을 생각했을때
저가 보낸 메시지는 좌측에 표시되고 상대방이 보낸 메시지는 오른쪽에 표시되는데요..
이걸 표현하려면 상황에 따라 각각 다른 레이아웃(xml)을 각 항목을 설정해주어야할것 같습니다만...
dual listview는 아닌것 같더라구요.
혹시 다른 방법이 있는 것인가요? ㅜㅜ
2011.02.10 15:59:25
그냥 하나로 하시면 됩니다. position에 해당하는 데이터가 내꺼면 내꺼에 해당하는 xml inflate하면 되구요
내꺼가 아니면 다른거 inflate하면됩니다. 이런경우 재활용이 어려워서 속도에 지장이 있을수 있습니다.
아니면 같은 XML에서 배경이미지나 정렬만 다르게 해서 쓸수도 있습니다. XML을 상당히 잘 만들어야 겠죠...
내꺼가 아니면 다른거 inflate하면됩니다. 이런경우 재활용이 어려워서 속도에 지장이 있을수 있습니다.
아니면 같은 XML에서 배경이미지나 정렬만 다르게 해서 쓸수도 있습니다. XML을 상당히 잘 만들어야 겠죠...
2011.02.10 16:00:31
getView() 에 상황에 맞는 레이아웃을 불러오면 됩니다. 카카오톡의 경우는 레이아웃 inflate 없이 그냥 단순히 배경이미지 바꿔주고 정렬만 오른쪽이냐 왼쪽이냐를 결정해주면 되겠네요




리스트에서 getView() 재정의시에 gravity 값을 별도로 줘보세요.
예를 들어 홀수행은 좌로 정렬, 짝수행은 우로 정렬 가능할텐데요.