String[] temp = new String[adapter.getCount()];
for(int i = 0; i < adapter.getCount(); i++)
temp[i] = adapter.getItem(i).toString();
List<String> list = Arrays.asList(temp);
Collections.sort(list);
adapter.clear();
comment = new Comment();
for(int i = 0; i < temp.length; i++)
{
comment.setComment(temp[i]);
System.out.println("comment is: " + comment.getComment());
adapter.insert(comment, i);
System.out.println("adapter is: " + adapter.getItem(i));
}
for(int i = 0; i < adapter.getCount(); i++)
System.out.println(adapter.getItem(i));
上面的代码对输入的 ArrayAdapter 进行排序;一个助手类,因为我正在使用 SQLiteHelper 和 SQL 数据库。
好的,所以我在清除 ArrayAdapter 中的所有数据后验证数据是否按字典排序顺序添加。
但是,当我到达最后一个 for 循环来验证这一点时,ArrayAdapter 已经在每个索引处复制了列表中的最后一项。这很奇怪,对我来说毫无意义。当然这也反映在屏幕上。
你能提供帮助以了解发生了什么吗?