Android:通过单击列表视图上的项目进行导航,并检索数据frm数据库并将其显示在另一个列表视图中

新的Android技术

我有一个从数据库检索的列表视图

 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));
            }
            }
              }

和我的datahelper类方法来检索此数据是:

 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()) {
                     do {
                        diseasename.add(cr.getString(0));
                     }  while (cr.moveToNext());
                  }

                  if (cr != null && !cr.isClosed()) {
                      cr.close();
                  }
              }
              return diseasename;
           } 


     //symptomsbydiseaseid to get 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()) {
                do {
                    symptomsList.add(cr.getString(0));
                } while (cr.moveToNext());
            }
            cr.close();

            return symptomsList;
        }

现在在第一个列表视图中,当我单击“ A”时,我应该转到另一个列表活动,并在类别A下显示另一个列表视图,并与B,C和D相同...在花药列表视图下,它将具有另一个列表单击它们时要问的问题

我的症状类如下:

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);
}   

} 

我怎样才能做到这一点?谢谢

流程来自疾病列表视图>症状列表视图>亚症状列表视图>以及不同文本视图中的问题

标清

首先将数据添加到适配器:

adapter.addAll(dh.getAllDiseaseNames())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章