2 Stimmen

ListView Klick-Ereignis

Ich habe eine Liste von Elementen, die ich aus meiner Sqlite DB abgerufen... Ich möchte ein Click-Ereignis für jedes Element festlegen. Wie kann ich dieses Ereignis auf der Grundlage des Elements anpassen, das auf ???? geklickt wurde? Seien Sie beschreibend... Ich bin ein Anfänger.

Diese Methode habe ich verwendet, um die Daten in meiner Liste zu füllen:

private void fillData() {
    db = new DBAdapter(this);
    db.open();
    ArrayList db_results = new ArrayList();
    //All Category
    //Cursor cursor = db.getAllTitles();

    //Single Category
    Cursor cursor = db.getTitle(1);
    if (cursor.moveToFirst())
    {
        do {          
            db_results.add(cursor.getString(4));
        } while (cursor.moveToNext());
    }
    cursor.close();

    this.list.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, db_results));
}

0 Stimmen

Welches unterschiedliche Verhalten wünschen Sie, wenn Sie auf die verschiedenen Listenelemente klicken? Diese Frage ist für mich verwirrend.

4voto

CommonsWare Punkte 950864

Rufen Sie an. setOnItemClickListener() über die ListView . Die AdapterView.OnItemClickListener Hörer, den Sie angeben, wird die Position ( 0 -basierten Index) und ID (wenn Sie einen CursorAdapter wie Sie es tun sollten, anstatt die Umwandlung der Cursor in eine ArrayList ), damit Sie wissen, welches Element angeklickt wurde.

0 Stimmen

Hallo Mark, ich möchte genau das Gleiche tun. Auf der Suche im Web ive gesehen, dass das, was Sie vorgeschlagen haben, ist der Weg, es zu tun, aber ich kann nicht finden, eine anständige Code-Beispiel irgendwo. Gibt es eines in deinen Büchern? Wenn ja, bitte die Seitenzahl :)

0 Stimmen

Viele der ListView-Beispiele in den Büchern verwenden ListActivity und überschreiben onListItemClick(), was (IIRC) die gleichen Parameter liefert. github.com/commonsguy/cw-Android/tree/master/Selection/List zum Beispiel.

0 Stimmen

Nochmals vielen Dank, Mark, es sieht so aus, als ob wir genau das brauchen :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X