sqlite - Android:navigation by clicking item on listview and retrieve data frm database and show it in another listview -
i have listview retrieved database
public class diseaselist extends listactivity{ datahelper dh; @override protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.diseaselist); dh = new datahelper(this); dh.open(); dh.getalldiseasenames(); arrayadapter<string> adapter = new arrayadapter<string>(this, android.r.layout.simple_list_item_1); setlistadapter(adapter); } @override protected void onlistitemclick(listview l, view v, int position, long id) { // todo auto-generated method stub super.onlistitemclick(l, v, position, id); string item=(string)getlistadapter().getitem(position); if(item.equals("pain")){ dh.getsymptomsbydiseaseid(1); startactivity(new intent(diseaselist.this,symptoms.class)); } else if(item.equals("color change in teeth")){ dh.getsymptomsbydiseaseid(2); startactivity(new intent(diseaselist.this,symptoms.class)); } else if(item.equals("bleeding gums")){ startactivity(new intent(diseaselist.this,questions.class)); } else if(item.equals("decay in teeth")){ startactivity(new intent(diseaselist.this,questions.class)); } else if(item.equals("dislodged caps")){ startactivity(new intent(diseaselist.this,questions.class)); } } }
and datahelper class methods retrieve data :
public list<string> getalldiseasenames() { list<string> diseasename = null; cr = db.query(disease_table_name,new string[] {disease_name}, null, null, null, null, null); if(null != cr){ diseasename = new arraylist<string>(); if (cr.movetofirst()) { { diseasename.add(cr.getstring(0)); } while (cr.movetonext()); } if (cr != null && !cr.isclosed()) { cr.close(); } } return diseasename; } //symptomsbydiseaseid symptoms in list view public list<string> getsymptomsbydiseaseid(long diseaseid) { list<string> symptomslist = new arraylist<string>(); string selection = "diseaseid=?"; string[] selectionargs = { string.valueof(diseaseid) }; cr = db.query(false, symptom_table_name, null, selection, selectionargs, null, null, null, null); if (cr.movetofirst()) { { symptomslist.add(cr.getstring(0)); } while (cr.movetonext()); } cr.close(); return symptomslist; }
now in first listview, when click on "a" , should move listactivity , display listview under category , same b , c , d... , under anther listview, have list of questions asked on clicking them
my symptomclass follows:
package com.dentabtechnologies.appstart; import com.example.dentabtechnologies.r; import android.app.listactivity; import android.os.bundle; import android.view.view; import android.widget.arrayadapter; import android.widget.listview; public class symptoms extends listactivity { @override protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.symptoms); arrayadapter<string> adapter = new arrayadapter<string>(this, android.r.layout.simple_list_item_1); setlistadapter(adapter); } @override protected void onlistitemclick(listview l, view v, int position, long id) { // todo auto-generated method stub super.onlistitemclick(l, v, position, id); } }
how can achieve this? thank
the flow disease listview > symptom listview > subsymptom listview > , questions in different text views
add data adapter first:
adapter.addall(dh.getalldiseasenames())
Comments
Post a Comment