在ListActivity中对ListView进行排序

时间:2015-09-20 13:16:54

标签: java android listview android-listview

我创建了ListActivity(是的,没有XML布局的那个),它通过ArrayList<String>显示从adapter获得的值。

事实上,添加到ArrayList的最后一个字符串是ListView上显示的最新字符串,而我想要对ListView进行排序,以便最后项目将是ListView顶部上的第一个项,该怎么做?

看,这是我的应用程序的片段,关于onCreate()的{​​{1}}方法:

ListActivity

3 个答案:

答案 0 :(得分:1)

  

怎么做?

重新订购history,使其符合您的要求,例如via Collections.reverse()

答案 1 :(得分:1)

没什么复杂的。您只需要反转列表历史记录。

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);
}

答案 2 :(得分:0)

尝试编写一个Comparator来对字符串进行排序。