Android listview arrange alphabetically -
i have listview .item in listview come database . problem item have not arrange in alphabetically order.help me solve problem.this listview activity code
this code of datalist activity.
public class datalistactivity extends activity { listview listview; sqlitedatabase sqlitedatabase; fooddbhelper fooddbhelper; cursor cursor; listdataadapter listdataadapter; private button button1; listdataadapter dataadapter = null; button button; dataprovider dataprovider; arraylist<hashmap<string, string>> namesslist; edittext inputsearch; string search_name; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); requestwindowfeature(window.feature_no_title); setcontentview(r.layout.data_list_layout); listview = (listview) findviewbyid(r.id.list_view); listdataadapter = new listdataadapter(getapplicationcontext(), r.layout.row_layout) { @override protected void showcheckedbutton(int position, boolean value) { // todo auto-generated method stub dataprovider item = (dataprovider) listdataadapter .getitem(position); log.i("", ""); item.setselected(value); button mybutton = (button) findviewbyid(r.id.findselected); mybutton.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { stringbuffer responsetext = new stringbuffer(); responsetext .append("the following dishes selected...\n"); arraylist<dataprovider> list = listdataadapter .getselectedindexes(); int sum = 0; (int = 0; < list.size(); i++) { dataprovider dataprovider = list.get(i); sum = sum + dataprovider.getcalorie(); responsetext.append("\n" + dataprovider.getname() + " : " + dataprovider.getcalorie() + " kcal" ); } toast.maketext(getapplicationcontext(), ""+responsetext+"\n"+"................................." +"\n"+"total calories in menu : " +sum, toast.length_long).show(); } }); } }; listview.setadapter(listdataadapter); fooddbhelper = new fooddbhelper(getapplicationcontext()); sqlitedatabase = fooddbhelper.getreadabledatabase(); cursor = fooddbhelper.getinformations(sqlitedatabase); if (cursor.movetofirst()) { { string name, quantity, fat, protein, sugar, vitamins; boolean selected = false; string names = null; integer calorie; name = cursor.getstring(0); quantity = cursor.getstring(1); calorie = integer.valueof(cursor.getstring(2)); fat = cursor.getstring(3); protein = cursor.getstring(4); sugar = cursor.getstring(5); vitamins = cursor.getstring(6); dataprovider dataprovider = new dataprovider(name, quantity, calorie, fat, protein, sugar, vitamins, names, selected); listdataadapter.add(dataprovider); } while (cursor.movetonext()); }
this dbhelper class
public cursor getinformations(sqlitedatabase db){ cursor cursor; string[] projections = {food.newdishinfo.dish_name,food.newdishinfo.dish_quantity, food.newdishinfo.dish_calorie,food.newdishinfo.dish_fat,food.newdishinfo.dish_protein, food.newdishinfo.dish_sugar, food.newdishinfo.dish_vitamins}; cursor= db.query(food.newdishinfo.table_name,projections,null,null,null,null,null); return cursor; } public cursor getfood(string dish_name,sqlitedatabase sqlitedatabase) { string[] projections = { food.newdishinfo.dish_quantity, food.newdishinfo.dish_calorie, food.newdishinfo.dish_fat, food.newdishinfo.dish_protein, food.newdishinfo.dish_sugar, food.newdishinfo.dish_vitamins}; string selection = food.newdishinfo.dish_name+" ?"; string[] selection_args = {dish_name}; cursor cursor = sqlitedatabase.query(food.newdishinfo.table_name,projections,selection,selection_args,null,null,null); return cursor; }
you have add order query:
public cursor getinformations(sqlitedatabase db){ cursor cursor; string[] projections = {food.newdishinfo.dish_name,food.newdishinfo.dish_quantity, food.newdishinfo.dish_calorie,food.newdishinfo.dish_fat,food.newdishinfo.dish_protein, food.newdishinfo.dish_sugar, food.newdishinfo.dish_vitamins}; cursor= db.query(food.newdishinfo.table_name,projections,null,null,null,null, "column_name asc"); return cursor; } public cursor getfood(string dish_name,sqlitedatabase sqlitedatabase) { string[] projections = { food.newdishinfo.dish_quantity, food.newdishinfo.dish_calorie, food.newdishinfo.dish_fat, food.newdishinfo.dish_protein, food.newdishinfo.dish_sugar, food.newdishinfo.dish_vitamins}; string selection = food.newdishinfo.dish_name+" ?"; string[] selection_args = {dish_name}; cursor cursor = sqlitedatabase.query(food.newdishinfo.table_name,projections,selection,selection_args,null,null, "column_name asc"); return cursor; }
asc means ascending , desc means descending.
Comments
Post a Comment