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

listview로 댓글, 대댓글 만드는 중 텍스트뷰가 잘리는 현상이 발생합니다.

0 추천

안녕하세요. 현재 listview로 댓글 대댓글 기능을 만드는 중 오류가 발생하여 질문 드립니다.

 

현재 구조는 위 그림처럼 default로 두번째 이상의 답글들은 x개 더보기 버튼을 눌러야 View.VISIBLE 설정을 통해 보여지도록 하였습니다.

 

그런데 현재 아래 그림처럼 x개 더보기가 잘리는 현상이 발생하여 원인을 찾지 못해 문의드립니다.

1. item view에 대해 layout_weight 설정, minheight설정

2. textview 대해 layout_weight 설정, minheight, layout_height 설정을 해봐도 도저히 수정이 안되 질문드립니다.

 

 

 

 

 

 

아이템 xml 구조는

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/border"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/container_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

       
    </LinearLayout>
    <TextView
        android:id="@+id/more_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="32dp"
        android:text="@string/more_reply"
        android:background="#123123"
        android:textColor="#000000"
        android:alpha="0.4"
        android:visibility="gone" />
</LinearLayout>

 

로 되어있습니다.

텍스트 background는 제가 이미 현상이 발생하는데 확인하고자 넣은겁니다.

 

@Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        ViewHolder viewHolder = new ViewHolder();

        if (convertView == null)
        {
            convertView = mInflater.inflate(R.layout.card_reply2, parent, false);
            viewHolder.mContainerView = convertView.findViewById(R.id.container_view);
            viewHolder.mMoreView = convertView.findViewById(R.id.more_view);
            convertView.setTag(viewHolder);
        }
        else
        {
            viewHolder = (ViewHolder) convertView.getTag();
        }

        final ReplyData replyData = mData.get(position);
	
        if (replyData.getIsGone())
        { // 숨김처리해야하는 댓글
            viewHolder.mContainerView.setVisibility(View.GONE);
            viewHolder.mMoreView.setVisibility(View.INVISIBLE);

        }
        else
        {
          // 보여줘야하는 댓글
            viewHolder.mContainerView.setVisibility(View.VISIBLE);
        }

        if (replyData.getIsAddView())
        {
          // 답글 더보기해줘야하는 댓글
            viewHolder.mMoreView.setVisibility(View.VISIBLE);
            viewHolder.mContainerView.setVisibility(View.GONE);
        }

 

해당 어댑터에서 getView 처리 부분입니다.

도저히 원인이 가늠되지 않아 올립니다. 감사합니다.

 

bluehall (190 포인트) 님이 2018년 11월 10일 질문
안녕하세요 저는 댓글, 대댓글 구현을 도전하고 있습니다. 그러나 예제도 많이 안나와 있고 방향을 잡지못해 이렇게 글을 남깁니다. 혹시 만드신 소스코드나 만드신 방법을 알려주시면 감사하겠습니다 ㅜ

1개의 답변

0 추천
자답입니다. 리스트뷰 속성에 이상한게 붙어있었습니다.
익명사용자 님이 2018년 11월 10일 답변
...