【发布时间】:2017-10-27 00:09:02
【问题描述】:
我正在尝试从 Parse 中按升序对整数进行排序,我以前从未这样做过,但这是我在 Recyclerview 适配器中所做的:
公共类 StudentAdapter 扩展 RecyclerView.Adapter {
private List<LogDetails> detailsList;
private Context context;
public StudentAdapter(List<LogDetails> detailsList, Context context) {
this.detailsList = detailsList;
this.context = context;
}
@Override
public StudentViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_student, parent, false);
return new StudentViewHolder(view);
}
@Override
public void onBindViewHolder(final StudentViewHolder holder, int position) {
LogDetails studentDetails = detailsList.get(position);
try {
//For Team A Only
holder.name_a.setText(studentDetails.getTeam_a().fetchIfNeeded().getString("team_name"));
String win = String.valueOf(studentDetails.getTeam_a().fetchIfNeeded().getInt("w"));
String lose = String.valueOf(studentDetails.getTeam_a().fetchIfNeeded().getInt("l"));
String draw = String.valueOf(studentDetails.getTeam_a().fetchIfNeeded().getInt("d"));
String play = String.valueOf(studentDetails.getTeam_a().fetchIfNeeded().getInt("p"));
String points = String.valueOf(studentDetails.getTeam_a().fetchIfNeeded().getInt("pts"));
holder.w_a.setText(win);
holder.l_a.setText(lose);
holder.d_a.setText(draw);
holder.p_a.setText(play);
holder.pts_a.setText(points);
holder.name_b.setText(studentDetails.getTeam_b().fetchIfNeeded().getString("team_name"));
String win2 = String.valueOf(studentDetails.getTeam_b().fetchIfNeeded().getInt("w"));
String lose2 = String.valueOf(studentDetails.getTeam_b().fetchIfNeeded().getInt("l"));
String draw2 = String.valueOf(studentDetails.getTeam_b().fetchIfNeeded().getInt("d"));
String play2 = String.valueOf(studentDetails.getTeam_b().fetchIfNeeded().getInt("p"));
String points2 = String.valueOf(studentDetails.getTeam_b().fetchIfNeeded().getInt("pts"));
holder.w_b.setText(win2);
holder.l_b.setText(lose2);
holder.d_b.setText(draw2);
holder.p_b.setText(play2);
holder.pts_b.setText(points2);
holder.name_c.setText(studentDetails.getTeam_c().fetchIfNeeded().getString("team_name"));
String win3 = String.valueOf(studentDetails.getTeam_c().fetchIfNeeded().getInt("w"));
String lose3 = String.valueOf(studentDetails.getTeam_c().fetchIfNeeded().getInt("l"));
String draw3 = String.valueOf(studentDetails.getTeam_c().fetchIfNeeded().getInt("d"));
String play3 = String.valueOf(studentDetails.getTeam_c().fetchIfNeeded().getInt("p"));
String points3 = String.valueOf(studentDetails.getTeam_c().fetchIfNeeded().getInt("pts"));
holder.w_c.setText(win3);
holder.l_c.setText(lose3);
holder.d_c.setText(draw3);
holder.p_c.setText(play3);
holder.pts_c.setText(points3);
holder.name_d.setText(studentDetails.getTeam_d().fetchIfNeeded().getString("team_name"));
String win4 = String.valueOf(studentDetails.getTeam_d().fetchIfNeeded().getInt("w"));
String lose4 = String.valueOf(studentDetails.getTeam_d().fetchIfNeeded().getInt("l"));
String draw4 = String.valueOf(studentDetails.getTeam_d().fetchIfNeeded().getInt("d"));
String play4 = String.valueOf(studentDetails.getTeam_d().fetchIfNeeded().getInt("p"));
String points4 = String.valueOf(studentDetails.getTeam_d().fetchIfNeeded().getInt("pts"));
holder.w_d.setText(win4);
holder.l_d.setText(lose4);
holder.d_d.setText(draw4);
holder.p_d.setText(play4);
holder.pts_d.setText(points4);
} catch (ParseException e) {
e.printStackTrace();
}
}
@Override
public int getItemCount() {
return detailsList.size();
}
public class StudentViewHolder extends RecyclerView.ViewHolder{
TextView name_a, p_a, w_a, l_a, d_a, pts_a;
TextView name_b, p_b, w_b, l_b, d_b, pts_b;
TextView name_c, p_c, w_c, l_c, d_c, pts_c;
TextView name_d, p_d, w_d, l_d, d_d, pts_d;
View mView;
private LogDetails mLogDetails;
public StudentViewHolder(View itemView) {
super(itemView);
mView = itemView;
name_a = (TextView) mView.findViewById(R.id.tv_teamA);
p_a = (TextView) mView.findViewById(R.id.tv_teamA_p);
w_a = (TextView) mView.findViewById(R.id.tv_teamA_w);
l_a = (TextView) mView.findViewById(R.id.tv_teamA_l);
d_a = (TextView) mView.findViewById(R.id.tv_teamA_d);
pts_a = (TextView) mView.findViewById(R.id.tv_teamA_pts);
name_b = (TextView) mView.findViewById(R.id.tv_teamB);
p_b = (TextView) mView.findViewById(R.id.tv_teamB_p);
w_b = (TextView) mView.findViewById(R.id.tv_teamB_w);
l_b = (TextView) mView.findViewById(R.id.tv_teamB_l);
d_b = (TextView) mView.findViewById(R.id.tv_teamB_d);
pts_b = (TextView) mView.findViewById(R.id.tv_teamB_pts);
name_c = (TextView) mView.findViewById(R.id.tv_teamC);
p_c = (TextView) mView.findViewById(R.id.tv_teamC_p);
w_c = (TextView) mView.findViewById(R.id.tv_teamC_w);
l_c = (TextView) mView.findViewById(R.id.tv_teamC_l);
d_c = (TextView) mView.findViewById(R.id.tv_teamC_d);
pts_c = (TextView) mView.findViewById(R.id.tv_teamC_pts);
name_d = (TextView) mView.findViewById(R.id.tv_teamD);
p_d = (TextView) mView.findViewById(R.id.tv_teamD_p);
w_d = (TextView) mView.findViewById(R.id.tv_teamD_w);
l_d = (TextView) mView.findViewById(R.id.tv_teamD_l);
d_d = (TextView) mView.findViewById(R.id.tv_teamD_d);
pts_d = (TextView) mView.findViewById(R.id.tv_teamD_pts);
}
@Override
public String toString() {
return super.toString() + " '" + "Content View" +
"'";
}
}
}
我在我的 recyclerview 中有一个日志表,其中显示了带有积分的团队,因此得分最高的应该按升序排在第一位。
【问题讨论】:
-
我不明白你可以在 textview 中说什么排序,请澄清你的问题。
-
我刚刚更新了,谢谢。 “我有一个日志表,显示球队的积分,所以得分最高的应该按升序排在第一位”
-
好吧好吧……
标签: android sorting arraylist parse-platform android-recyclerview