【发布时间】:2021-05-08 22:16:42
【问题描述】:
我正在尝试对我的commentList 进行排序,结果是itemList,只有最后一个值itemPosition 等于当前位置的项目。我有一个包含 4 个值的列表项的类:
class CommentItem {
int profile;
String user;
String message;
int itemPosition;
}
我正在尝试使用此代码对其进行排序,但它只是添加正确数量的值而不是我想要的实际值。
for (CommentItem item : commentList) {
if (item.getItemPosition() == position) {
itemList.add(new CommentItem(
commentList.get(position).getProfile(),
commentList.get(position).getUser(),
commentList.get(position).getMessage(),
commentList.get(position).getItemPosition()
));
}
}
这是commentList:
commentList = new ArrayList<>();
commentList.add(new CommentItem(R.drawable.circleicon, "User0", "Message0", 1));
commentList.add(new CommentItem(R.drawable.circleicon, "User1", "Message1", 2));
commentList.add(new CommentItem(R.drawable.circleicon, "User2", "Message2", 3));
commentList.add(new CommentItem(R.drawable.circleicon, "User3", "Message3", 4));
commentList.add(new CommentItem(R.drawable.circleicon, "User4", "Message4", 1));
commentList.add(new CommentItem(R.drawable.circleicon, "User5", "Message5", 2));
commentList.add(new CommentItem(R.drawable.circleicon, "User6", "Message6", 3));
commentList.add(new CommentItem(R.drawable.circleicon, "User7", "Message7", 4));
commentList.add(new CommentItem(R.drawable.circleicon, "User8", "Message8", 0));
带有位置的结果 itemList 显示以下项目:
commentList.add(new CommentItem(R.drawable.circleicon, "User0", "Message0", 1));
commentList.add(new CommentItem(R.drawable.circleicon, "User1", "Message1", 2));
我也尝试了所有这些代码:
for (CommentItem item : commentList) {
if (item.getItemPosition() == position) {
itemList.add(new CommentItem(
item.getProfile(), item.getUser(),
item.getMessage(), item.getItemPosition()
));
}
}
for (CommentItem item : commentList) {
if (item.getItemPosition() == position) {
itemList.add(item);
}
}
for (CommentItem item : commentList) {
if (item.getItemPosition() == position) {
itemList.add(commentList.get(commentList.indexOf(item)));
}
}
结果相同。
提前谢谢你!
【问题讨论】:
标签: java android android-studio arraylist