Listview在创建片段时不排序

时间:2017-05-27 12:54:27

标签: android sorting listview

我有一个片段,它使用数据库中的customAdapter显示列表视图。在工具栏上我有一个排序选项,工作正常。我想要的只是在我重新打开我的应用程序时保留排序顺序。

我尝试使用共享首选项来存储排序顺序名称(如在升序/降序/日期中排序),然后将适配器设置为列表视图,但它不起作用。

我的onCreateView():

SharedPreferences preference =PreferenceManager.getDefaultSharedPreferences(getContext());
    String sortval = preference.getString("Sort","Header");
    handler = new NotesHandler(getContext());
    list = handler.sortBy(sortval);
    adapter = new CustomAdapter(getContext(), list);
    listView.setAdapter(adapter);

NotesHandler.java:

 public ArrayList<Notes> sortBy(String sortField)
{
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor c = db.rawQuery("select * from "+TABLE_NAME+" order by "+sortField+";",null);
    ArrayList<Notes> n = new ArrayList<>();

    if(c!= null && c.getCount()!=0)
    {
        if(c.moveToFirst())
        {
            do{
                Notes note = new Notes(c.getString(0),c.getString(1),c.getString(2),c.getString(3),c.getString(4),c.getString(5));
                n.add(note);
            }while(c.moveToNext());
        }
    }
    db.close();
    return n;
}

请帮助。

0 个答案:

没有答案