我创建了一个ListActivity
(是的,没有XML布局的那个),它显示了从ArrayList<String>
获得的值,通过adapter
。
事实是,添加到ArrayList
的最后一个字符串,是最新出现在ListView
上,相反,我想对ListView
进行排序,以便添加的最后项将是第一个项在顶部在ListView
中,如何做到这一点?
看,这是我的应用程序的一个片段,关于ListActivity
的onCreate()
方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
ArrayList<String> history = intent.getStringArrayListExtra("HistoryList");
ListView historyList = getListView();
ArrayAdapter<String> listAdapter = new ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, history);
historyList.setAdapter(listAdapter);
}
没什么复杂的。您只需要反转列表历史记录。
Collections.reverse(history);
你应该读一点关于Java的理论,并学习如何寻找。否则,一切美好都不会结束。代码看起来像这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
ArrayList<String> history = intent.getStringArrayListExtra("HistoryList");
Collections.reverse(history);
ListView historyList = getListView();
ArrayAdapter<String> listAdapter = new ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, history);
historyList.setAdapter(listAdapter);
}
怎么做?
将history
重新排序为您想要的顺序,例如通过Collections.reverse()
。
尝试编写比较器对字符串进行排序。