마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

알고리즘에 자신있는분 !!! 도와주세요 ㅠ

0 추천

흠 우선 데이터에 날짜가 있습니다. 결론은 카톡처럼 채팅 되는 부분인데 

날짜를 서버에서 가져와 비교후에 요일이 달라지면 채팅 위에 날짜를 뿌려주면 되는부분입니다.

if(code == 1) {
	ArrayList<ChatItem> arr = new ArrayList<ChatItem>();
	for(int i=0; i<result.length(); i++) {
		try {
			arr.add(new ChatItem(result.getJSONObject(i)));
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	setListData(arr);
	for(int i=0; i<arr.size(); i++){
		String temp = arr.get(i).getDate();
		if(!temp.equals(arr.get(i).getDate())){
			dateList.add(temp);
			temp = arr.get(i).getDate();
			Log.e("Array.Add", temp);
		}
	}

이런식으로 우선 날짜를 list에 저장합니다. 후에 뿌릴때 날자 비교때문에 골머리 썩네요.

if(flag){
			if(dateList.get(idx) == item.getDate()){
				holder.get("layout_date").setVisibility(View.VISIBLE);
				((TextView)holder.get("date_bar")).setText(item.getDateDay());
			}
		}
		
		if(item.getStatus() == 1) {
			holder.get("layout_me").setVisibility(View.VISIBLE);
			holder.get("layout_friend").setVisibility(View.GONE);
			
			((TextView)holder.get("me_name")).setText(item.getName());
			((TextView)holder.get("me_content")).setText(item.getContent());
			((TextView)holder.get("me_date")).setText(item.getDateTime());
		} else if(item.getStatus() == 2){
			holder.get("layout_me").setVisibility(View.GONE);
			holder.get("layout_friend").setVisibility(View.VISIBLE);
			
			((TextView)holder.get("friend_date")).setText(item.getDateTime());
			((TextView)holder.get("friend_name")).setText(item.getName());
			((TextView)holder.get("friend_content")).setText(item.getContent());
		} 

적용 부분인데요 ..

결론은 date 값을 비교해서 다를경우 flag를 변환해서 적용하면 되는 부분인데 .. 하.... 죽겟네요 .

구기웅 (1,110 포인트) 님이 2013년 9월 12일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...