0

データベースから取得したリストビューがあります

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

このデータを取得するためのデータヘルパークラスのメソッドは次のとおりです。

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

} 

どうすればこれを達成できますか? ありがとうございました

フローは、疾患リストビュー > 症状リストビュー > 亜症状リストビュー > およびさまざまなテキストビューの質問からです

4

1 に答える 1