用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);
}
}
}