Android列表适配器按日期排序

时间:2013-12-03 15:49:03

标签: android listview android-listview listadapter

我有一个程序从数据库中检索数据并将其显示在列表适配器中,但我想按计划的日期按升序排序数据。任何人都可以帮忙

ArrayList<HashMap<String, String>> TimesheetList =  controller.getAllworkinstructions();


if(TimesheetList.size()!=0) {

    ListView lv = getListView();
    lv.setOnItemClickListener(new OnItemClickListener() {

        @Override 
        public void onItemClick(AdapterView<?> parent, View view,int position, long id) {


        Id = (TextView) view.findViewById(R.id.Id);
        String valId = Id.getText().toString();                   
        Intent  objIndent = new Intent(getApplicationContext(),ViewCuttingtask.class);
        objIndent.putExtra("Id", valId); 
        startActivity(objIndent); 

        }

    }); 


    SimpleAdapter adapter = new SimpleAdapter(Menu.this,TimesheetList, R.layout.list, 
        new String[] { "Id","weekcomm","jobid","taskid","planneddate","name","Priority"},    
        new int{R.id.Id,R.id.weekcomm,R.id.jobid,R.id.taskid,R.id.planneddate,R.id.name,R.id.priority}); 

    setListAdapter(adapter);

}

2 个答案:

答案 0 :(得分:1)

这与适配器无关。

您应该根据需要对集合进行排序,然后将其传递给适配器(例如,如果已经将其传递给ListView,则通知它)。

通过排序,我的意思是:

  • 数据库查询时间排序
  • 使用Collection.sort(yourCollection,aComparator)

答案 1 :(得分:0)

我假设其中一个字符串引用日期ArrayList<HashMap<String, String>> TimesheetList只是按日期对TimesheetList进行排序并将排序列表提供给数组适配器