2012-04-12 67 views
1

我有一个ListView由SQLite数据库中的一系列数据填充。 现在我想根据“project_title”列对列表进行排序。据我所知,我们需要使用ORDER BY使用ORDER BY从SQLite中排序ListView

所以我把那本查询:

ListView listView = (ListView) findViewById(R.id.lstText); 
     listView.setOnItemClickListener(this); 
     listView.setAdapter(new MySimpleCursorAdapter(this, R.layout.listitems, 
       managedQuery(Uri.withAppendedPath(Provider.CONTENT_URI, 
         Database.Project.NAME), new String[] { BaseColumns._ID, 
         Database.Project.C_PROJECTTITLE, 
         Database.Project.C_SMALLIMAGE, Database.Project.C_PROJECTDESCRIPTION, Database.Project.C_BIGIMAGE}, "SELECT " + "project_title" 
         +" FROM "+"Project"+" ORDER BY "+"project_title"+" COLLATE NOCASE ASC", null, null), 
       new String[] { Database.Project.C_PROJECTTITLE, 
         Database.Project.C_SMALLIMAGE, Database.Project.C_PROJECTDESCRIPTION}, new int[] { 
         R.id.txt_title, R.id.image, R.id.txt_list_desc})); 

但后来什么也没有显示在ListView控件。任何人都可以对我的ORDER BY查询进行更正吗?由于

回答

2

尝试这样的事情......

String[] all_columns = new String[] { BaseColumns._ID, 
          Database.Project.C_PROJECTTITLE, 
          Database.Project.C_SMALLIMAGE, 
          Database.Project.C_PROJECTDESCRIPTION, 
          Database.Project.C_BIGIMAGE}; 



Cursor c = database.query(DatabaseHelper.TABLE, all_columns , whereClause, null, null, null, "project_title asc",null);