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はすべてのインデックスでリストの最後の項目を複製しました。これは奇妙で、私には意味がありません。もちろん、これは画面にも反映されます。
何が起こっているのかを理解するための支援を提供できますか?