Anzeige der Cursor-Ergebnisse aus DB in Liste nach OnItemClick

Ich habe eine Tätigkeit, wo ich will zeigen Ergebnisse aus einer Datenbank mit ListView. Die Tabelle hat drei Spalten: Wort, Bezeichnung und Kategorie. Auf der Seite der Aktivitäten, habe ich eine Liste von Kategorien, dass Lesen aus einem array. Ich will es so einrichten, dass, wenn Sie klicken Sie auf ein Element in der Liste (zum Beispiel Cat1), die Ergebnisse der cursor wird alle Worte/Beschreibungen mit der Kategorie Cat1 in der DB. Derzeit habe ich einfach ein Toast mit dieser Kategorie-Namen angezeigt, wenn geklickt wird.

So wie es jetzt ist, die Aktivität nicht richtig ausgeführt. Ich habe gelesen, um auf dem web, und bin mir nicht sicher, wie Sie Vorgehen. Hier ist der code, den ich bisher haben. Wer kann mir helfen, ich würde schätzen es wirklich.

public class Kategorien extends ListActivity {
DataBaseHelper db = new DataBaseHelper ();
private SQLiteDatabase Daten;
int position;

private ListView list;
private String[] categories = {
    "C1", "C2", "C3", "C4",
    "C5", "C6", "C7", "C8",
    "C9", "C10", "C11", "C12"
};

@Override
public void onCreate(Bundle icicle){
    super.onCreate(icicle);
    setContentView(R.layout.cat_list);

    list = (ListView)findViewById(R.id.cat_listing);
    list.setAdapter(new ArrayAdapter<String>(this,
        R.layout.categories, categories));
    list.setTextFilterEnabled(true);

    Cursor cursor = data.rawQuery("SELECT term, desc FROM words WHERE cat = '" + categories[position] + "'", null);
    startManagingCursor(cursor);

    String columns[] = new String[] { "term", "desc" };
    int[] to = new int[] { R.id.cat_term, R.id.cat_desc };

    SimpleCursorAdapter myAdapter = new SimpleCursorAdapter(this, R.layout.cat_result, cursor, columns, to);
    this.setListAdapter(myAdapter);

    list.setOnItemClickListener(new OnItemClickListener(){

        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id){
            CharSequence text = categories[position];
            Toast toast = Toast.makeText(getApplicationContext(),
                    text, Toast.LENGTH_SHORT);
            toast.show();
        }
    });
}

}

InformationsquelleAutor Devin | 2010-12-10

Schreibe einen Kommentar