Android App: Hauptseite mit Auswahlliste

Siehe Chapter 6 aus: Head-First-Android-Development-2015

Auf dem Hauptbildschirm erscheint eine Liste von Optionen zur Auswahl, die man anklicken kann.

Nach der Auswahl wird die neue Aktivität aufgerufen.ListAuswahl_Android

 

Java-Struktur

  • Alle Aktivitäten (Auswahlen) erhalten eine Klasse.
    Es gibt die Hauptklasse (hier Top Level Activity) und  zu jeder Auswahl folgt eine Klasse (Klasse Drinks, Klasse Menüs, Klasse Standorte).
  • In der Anzeigeklassen wird das Anzeigen der Elemente verwaltet
  • Soll nach der ersten Auswahl noch weitere Details angezeigt werden, erhalten diese auch wieder eine Aktivitätsklasse.

 

Anzeigeklasse

public class Drink {
    private String name;
    private String description;
    private int imageResourceId;

    // drinks is an array of Drinks
    public static final Drink[] drinks = {     // Bild hinzufügen
            new Drink("Latte", "With milk", R.drawable.latte),
            new Drink("Cappu", "With chocolate", R.drawable.cappucino),
            new Drink("Filter", "With water", R.drawable.filter)
    };

    //Each Drink has a name, description, and an image ressource
    private Drink (String name, String description, int imageResourceId){
        this.name = name;
        this.description = description;
        this.imageResourceId = imageResourceId;
    }

    public String getDescription() {
        return description;
    }

    public String getName(){
        return name;
    }

    public int getImageResourceId(){
        return imageResourceId;
    }

    public String toString(){
        return this.name;
    }
}

 

Layout Liste einbauen

Man findet unter Container die Listview. Android_ListAuswahl

// top_level_activity.xml
<ListView
    android:id="@+id/list_options"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:entries="@array/options" />    // die Auswahlnamen in Array
// string.xml
<resources>
    ...
    <string-array name="options">
        <item>Drinks</item>
        <item>Food</item>
        <item>Stores</item>
    </string-array>

</resources>

 

Elemente der Auswahlklasse sollen antworten
Dies geschieht über einen EventListener. So hören die Klassenvariablen auf eine Aktivität. Um einen EventListener zu implementieren, muss die Methode OnItemClickListener()  implementiert werden.

 

 

..

 

 
DoppelteListAuswahl_Android