动态设置textview显示行数

用setMaxLines,不要用setLines,灵活一些

holder.tvPadGradeContent.setMaxLines(1);
package com.mine.project.function.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RatingBar;
import android.widget.TextView;

import com.mine.project.R;
import com.mine.project.function.domain.CommentInfo;
import com.mine.project.network.utils.MyDateUtil;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by wy on 2017/7/8.
 */

public class PadGradeAdpter extends RecyclerView.Adapter<PadGradeAdpter.ViewHolder> {
    private List<CommentInfo> objects = new ArrayList<CommentInfo>();

    private Context context;
    private LayoutInflater layoutInflater;
    private int mLines;

    public PadGradeAdpter(Context context, List<CommentInfo> objects) {
        super();
        this.context = context;
        this.layoutInflater = LayoutInflater.from(context);
        this.objects = objects;
    }

    public CommentInfo getItem(int position) {
        return objects.get(position);
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        ViewHolder holder = new ViewHolder(LayoutInflater.from(context).inflate(R.layout.item_padgrade, parent, false));
        return holder;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        initializeViews((CommentInfo) getItem(position), holder);

//        objects=(CommentInfo) getItem(position);
    }

    @Override
    public int getItemCount() {
        return objects.size();
    }


    private void initializeViews(CommentInfo object, final ViewHolder holder) {
        //TODO implement
        String mCommentTime = new MyDateUtil().change(object.getCommentTime());
        holder.tvPadGradeTime.setText(mCommentTime);
        holder.rbOrderDetailXingxing.setRating((float) object.getScore());
        holder.tvPadGradeContent.setText(object.getContent() + "");
        holder.tvPadGradeContent.post(new Runnable() {
            @Override
            public void run() {
                mLines = holder.tvPadGradeContent.getLineCount();
                 Log.e("1", "run:--------->mLines:   "+ mLines);
                if (mLines > 1) {
                    holder.tvPadGradeContent.setLines(1);
                    holder.tvPadGradeContent.setEllipsize(TextUtils.TruncateAt.END);
                    holder.mTvZhankai.setVisibility(View.VISIBLE);
                }
                holder.mTvZhankai.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Log.e("1", "run:--------->66 " + mLines);
                        holder.tvPadGradeContent.setLines(mLines);
                        holder.mTvZhankai.setVisibility(View.GONE);
                    }
                });

            }
        });


    }

    protected class ViewHolder extends RecyclerView.ViewHolder {
        private TextView tvPadGradeTime;
        private RatingBar rbOrderDetailXingxing;
        private TextView tvPadGradeContent;
        private TextView mTvZhankai;

        public ViewHolder(View view) {
            super(view);
            tvPadGradeTime = (TextView) view.findViewById(R.id.tv_padGradeTime);
            rbOrderDetailXingxing = (RatingBar) view.findViewById(R.id.rb_order_detail_xingxing1);
            tvPadGradeContent = (TextView) view.findViewById(R.id.tv_padGradeContent);
            mTvZhankai = (TextView) view.findViewById(R.id.tv_zhankai);
        }
    }
}
package com.mine.project.function.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RatingBar;
import android.widget.TextView;

import com.mine.project.R;
import com.mine.project.function.domain.CommentInfo;
import com.mine.project.network.utils.MyDateUtil;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by wy on 2017/7/8.
 */

public class PadGradeAdpter extends RecyclerView.Adapter<PadGradeAdpter.ViewHolder> {
    private List<CommentInfo> objects = new ArrayList<CommentInfo>();

    private Context context;
    private LayoutInflater layoutInflater;
    private int mLines;

    public PadGradeAdpter(Context context, List<CommentInfo> objects) {
        super();
        this.context = context;
        this.layoutInflater = LayoutInflater.from(context);
        this.objects = objects;
    }

    public CommentInfo getItem(int position) {
        return objects.get(position);
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        ViewHolder holder = new ViewHolder(LayoutInflater.from(context).inflate(R.layout.item_padgrade, parent, false));
        return holder;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        initializeViews((CommentInfo) getItem(position), holder);

//        objects=(CommentInfo) getItem(position);
    }

    @Override
    public int getItemCount() {
        return objects.size();
    }


    private void initializeViews(CommentInfo object, final ViewHolder holder) {
        //TODO implement
        String mCommentTime = new MyDateUtil().change(object.getCommentTime());
        holder.tvPadGradeTime.setText(mCommentTime);
        holder.rbOrderDetailXingxing.setRating((float) object.getScore());
        holder.tvPadGradeContent.setText(object.getContent() + "");
        holder.tvPadGradeContent.post(new Runnable() {
            @Override
            public void run() {
                mLines = holder.tvPadGradeContent.getLineCount();
                 Log.e("1", "run:--------->mLines:   "+ mLines);
                if (mLines > 1) {
                    holder.tvPadGradeContent.setLines(1);
                    holder.tvPadGradeContent.setEllipsize(TextUtils.TruncateAt.END);
                    holder.mTvZhankai.setVisibility(View.VISIBLE);
                }
                holder.mTvZhankai.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Log.e("1", "run:--------->66 " + mLines);
                        holder.tvPadGradeContent.setLines(mLines);
                        holder.mTvZhankai.setVisibility(View.GONE);
                    }
                });

            }
        });


    }

    protected class ViewHolder extends RecyclerView.ViewHolder {
        private TextView tvPadGradeTime;
        private RatingBar rbOrderDetailXingxing;
        private TextView tvPadGradeContent;
        private TextView mTvZhankai;

        public ViewHolder(View view) {
            super(view);
            tvPadGradeTime = (TextView) view.findViewById(R.id.tv_padGradeTime);
            rbOrderDetailXingxing = (RatingBar) view.findViewById(R.id.rb_order_detail_xingxing1);
            tvPadGradeContent = (TextView) view.findViewById(R.id.tv_padGradeContent);
            mTvZhankai = (TextView) view.findViewById(R.id.tv_zhankai);
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值