动态设置textview显示行数

来源:互联网 发布:经传软件指标详解 编辑:程序博客网 时间:2024/06/05 05:55

用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);        }    }}
原创粉丝点击