Пример #1
0
        public static void BindHolder(Dialogue dialogue, TextView address, TextView msgText, TextView timeText, RelativeLayout readStateRL, TextView readStateCnt)
        {
            TextMessage lastMessage = dialogue[0];                           //대화 중 가장 마지막 문자

            //이름 혹은 연락처 표시, 문자 내용 표시
            address.Text = dialogue.DisplayName;
            if (lastMessage.GetType() == typeof(MultiMediaMessage))
            {
                MultiMediaMessage objMMS = lastMessage as MultiMediaMessage;
                switch (objMMS.MediaType)
                {
                case (int)MultiMediaMessage.MEDIA_TYPE.TEXT:
                    msgText.Text = objMMS.Msg;
                    break;

                case (int)MultiMediaMessage.MEDIA_TYPE.IMAGE:
                    msgText.Text = objMMS.Msg != null ? objMMS.Msg : "이미지 MMS";
                    break;

                case (int)MultiMediaMessage.MEDIA_TYPE.VCF:
                    msgText.Text = objMMS.Msg != null ? objMMS.Msg : "VCF MMS";
                    break;
                }
            }
            else
            {
                msgText.Text = lastMessage.Msg;
            }

            //날짜 표시
            DateTimeUtillity dtu = new DateTimeUtillity();

            if (dtu.GetNow().Year <= dtu.GetYear(lastMessage.Time))                                  //올해 메시지이면
            {
                if (dtu.GetDatetime(lastMessage.Time) >= dtu.GetToday())
                {
                    timeText.Text = dtu.MilisecondToDateTimeStr(lastMessage.Time, "a hh:mm");          //오늘 메시지이면
                }
                else
                {
                    timeText.Text = dtu.MilisecondToDateTimeStr(lastMessage.Time, "MM월 dd일");        //올해인데 오늘 메시지가 아님
                }
            }
            else
            {
                timeText.Text = dtu.MilisecondToDateTimeStr(lastMessage.Time, "yyyy년 MM월 dd일");    //올해 메시지가 아님
            }

            //문자 읽음 여부에 따른 상태표시기 표시여부 및 카운트설정
            if (dialogue.UnreadCnt > 0)
            {
                readStateRL.Visibility = ViewStates.Visible;
                readStateCnt.Text      = dialogue.UnreadCnt.ToString();
            }
            else
            {
                readStateRL.Visibility = ViewStates.Invisible;
            }
        }