2 Stimmen

Listenansicht mit Schlüsselfeld

Ich möchte eine Listenansicht anzeigen, wenn angeklickt in der Lage sein, die Elemente Schlüsselwert zu erhalten. Wie würde ich über das gehen.

danke, Dekan

5voto

matt Punkte 678

Um das zu tun, wovon Sie sprechen, sollten Sie eine ArrayAdapter mit einer einfachen Klasse zur Erstellung der gewünschten Objekte.

Wenn Sie z. B. eine Listenansicht von Personen erstellen möchten, die deren Namen und Alter enthält, und nur deren Namen in einer Listenansicht anzeigen möchten, erstellen Sie zunächst eine Klasse Person wie folgt:

public class Person {
  int age;
  String name;

  public Person(int age, String name) {
    this.age = age;
    this.name = name;
  }

  @Override
  public String toString() {
    return this.name; //what you want displayed for each row in the listview
  }

}

Dann würden Sie in Ihrer Java-Datei, die die Listenansicht verwendet (sagen wir, sie heißt PersonTracker.java), aufrufen:

setListAdapter(new ArrayAdapter<Person>(PersonTracker.this, R.layout.list_people, people);
lv = getListView();
lv.setTextFilterEnabled(true);

lv.setOnItemClickListener(new OnItemClickListener() {
  public void onItemClick(AdapterView<?> parent, View currView, int position, long id) {
    Person selected = (Person)lv.getItemAtPosition(position);
    String selectedName = selected.name;  //ideally this would probably be done with accessors
    int selectedHeight = selected.height;

    //Do whatever you need to with the name and height here
    //such as passing via intents to the next activity...

  }
});

wobei list_people nur ein allgemeines XML-Layout mit einer Textansicht ist, die steuert, wie jede Zeile aussieht, und people das XML-Layout ist, das die Listenansicht enthält.

Wie Sie oben sehen, können Sie in Ihrer onItemClick-Funktion von der Person, die mit dem angeklickten Listenelement verknüpft ist, erhalten, was Sie wollen.

Wie auch immer, ich hoffe, das hilft jemandem weiter und spart die Zeit, die ich damit verbracht habe, es herauszufinden... ich brauche etwas Schlaf...

0voto

fedj Punkte 3362

Der Schlüsselwert der Elemente einer Listenansicht ? Sind Sie auf der Suche nach onListItemClick von ListActivity ?

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