1

事前にお詫び申し上げます。私はインドネシア出身なので、英語がうまくないかもしれません..Google翻訳で翻訳するだけです

私はsqliteに関連付けられたAndroidアプリを作成しています。私が抱えている問題は、選択したリストビューに従ってデータベースからデータを表示したいということです。アプリは私がツアーガイドを作成したアプリです。

アプリケーションを実行しながら、既存のアトラクションのいくつかのカテゴリを実行します。選択したカテゴリの 1 つ (カテゴリ: 自然など) の場合、自然界に存在する名前のリストがデータベース リストビューの形式で表示されます。

なんとかここまで上げました。

その後、ロサリなどの自然の名前を選択すると、データベースに従ってロサリの説明が表示されます。

上記のように表示する方法がわかりません..助けてください

データベースからデータを取得したリストビューを表示するためのこのファイル alam.java

dbadapter db;
protected Cursor cursor;
protected ListAdapter adapter;


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.alam);
    final ListView dftAlam = (ListView)findViewById(R.id.lv);
    final dbadapter db = new dbadapter(this);
    ArrayList<DFT_ALAM> dft_alam = db.getAllAlam();
    dftAlam.setAdapter(new MyAdapter(this, dft_alam));

    dftAlam.setOnItemClickListener(new OnItemClickListener() {

        private String nama;
        private String alamat;
        private String desk;

        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            String selectedItem = (String) dftAlam.getItemAtPosition(arg2);
            String query = "SELECT nama, alamat, desk FROM wisata WHERE nama = '" + selectedItem + "'";
            SQLiteDatabase dbs = db.getReadableDatabase();
            Cursor result = dbs.rawQuery(query, null);
            result.moveToFirst();
            nama = result.getString(result.getColumnIndex("nama"));
            alamat = result.getString(result.getColumnIndex("alamat"));
            desk = result.getString(result.getColumnIndex("desk"));
            Intent intent = new Intent(android.content.Intent.ACTION_VIEW, null, null, deskAlam.class);
            startActivity(intent); 

        }
    });

}
    public void onClick(View v) {


    }

}

このファイルdeskAlam.javaは、リストビューで選択されたオプションの説明を表示します

dbadapter db;
TextView nama = null;
TextView alamat = null;
TextView desk = null;


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.desk);

    TextView nama = (TextView)findViewById(R.id.nm);
    TextView alamat = (TextView)findViewById(R.id.alm);
    TextView desk = (TextView)findViewById(R.id.desk);
    dbadapter db = new dbadapter (this);
    db.openDataBase();
    Cursor c = (Cursor) db.getAllAlam();
    if (c.moveToFirst()){
        do{
            tampil(c);
        }while (c.moveToNext());
    }
}


public void tampil(Cursor c) {
    // TODO Auto-generated method stub
    Toast.makeText(this, c.getString(4) + "\n" +
                            c.getString(5) + "\n" +
                            c.getString(6), Toast.LENGTH_LONG).show();
}   

}

上記のソースコードで何か問題が発生したり、不足したりした場合は修正してください

4

1 に答える 1