Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

ListView - Daten anzeigen

Das Thema "ListView - Daten anzeigen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 20.01.2012, 23:28   #1 (permalink)
Neuer Benutzer

Registriert seit: 20.01.2012
Beiträge: 3
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard ListView - Daten anzeigen

Hallo,
ich arbeite im moment an einer App.

Leider komme ich jetzt an einer Stelle nicht weiter.

Ich habe eine ListView, die mit Daten aus einer MySQL Datenbank gefüllt ist.
Das Problem ist nun, dass ich nicht weiß wie ich abfrage welches Item in der ListView geklickt wurde.
Außerdem möchte ich, dass nach einem Klick auf ein Item der ListView automatisch eine neue Activity angezeigt werden soll, in der nochmals Daten aus einer MySQL Datenbank angezeigt werden sollen.

Sorry, ich bin noch ein Anfänger, aber ich hoffe jemand könnte mir helfen.
Sycube ist offline   Mit Zitat antworten
Alt 21.01.2012, 11:27   #2 (permalink)
Neuer Benutzer

Registriert seit: 20.01.2012
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: ListView - Daten anzeigen

Servus Sycube,

du must einen ClickListener einbauen um diese Abfrage zu realisieren. Ich habe die hier mal eine TestAvtivity gebastelt welche das im groben Zeigt was du möchtest. Das übergeben der ID an die nächste Activity musst du natürlich noch implementieren, um die ID zu übergeben.

Code:
public class TestActivity extends Activity {

    private ListView mListView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);

        mListView = (ListView) findViewById(R.id.listView);
        setListener();
    }

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
    }

    // Setzd den ClickListener und immer wenn ein ELement aus der Liste geklickt
    // wird, wird onItemClick() aufgereufen
    private void setListener() {
        mListView.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                // TODO Auto-generated method stub
                // Deklariere und initialisiere ein Intent zum starten der
                // Activity
                Intent intent = new Intent(view.getContext(),
                        YourActivity.class); // <-- YourActivity.class musst du
                                                // mit der Klasse deiner
                                                // Activity ersetzen
                intent.putExtra("id", value); // <-- Hier übergeben wir die ID
                                                // des ausgewählten Elements an
                                                // die aufzurufende Activity value
                                                // musst du ersetzen mit der variable
                                                // welche die id enthält
                startActivity(intent); // <-- Startet die Activity
            }
        });
    }
}
Auslesen der mitgelieferten Information muss du in der aufgerufenen Activity machen, am besten in der onCreate() Methode. Mit der ID kannst du dann genau das Element aus der DB abfragen was du ausgewählt hast und dir die Informationen von diesen holen.
Code:
public class YourActivity extends Activity {

    private int mId;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        mId = getIntent().getIntExtra("id", -1); // <-- hier holen wir über den
                                                    // Schlüssel "id" den Wert
                                                    // und wenn nix übergeben
                                                    // wurde liefern wir den
                                                    // Wert -1 zurück
    }

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
    }
}
Eine Idee zum implementieren der ID´s. Du legst eine ArrayList vom Typ Integer an und wenn du dein ListView mit den Daten aus der Datenbank füllst steckst du dort gleich die ID mit rein.

Wie wir Wissen beginnt der Index eines Arrays bei 0, das trifft auch bei der ListView zu, wenn wir die Position des geklickten Elements abrufen.

Geändert von storage (21.01.2012 um 11:40 Uhr)
storage ist offline   Mit Zitat antworten
Alt 21.01.2012, 21:54   #3 (permalink)
Neuer Benutzer

Registriert seit: 20.01.2012
Beiträge: 3
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: ListView - Daten anzeigen

Danke, Danke, Danke!
Das war genau das, was ich gesucht habe!

Hätte man eigentlich selber drauf kommen können, aber naja.
Sycube ist offline   Mit Zitat antworten
Alt 06.03.2012, 18:34   #4 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 24.10.2010
Beiträge: 57
Abgegebene Danke: 4
Erhielt 1 Danke für 1 Beitrag
Standard AW: ListView - Daten anzeigen

Hallo,

ich habe zwei Beobachtungen gemacht, die ich hier gerne erwähnen würde.

Wenn man beim Adapter android.R.layout.simple_list_item_1 verwendet, dann ist das scrollen verbuggt (sieht nach einem refreshproblem aus/es flackert) und es ist nur der teil anklickbar, der so groß ist wie der string.

Ich habe einige Stunden damit verbracht eine Lösung für das Problem zu finden. Man muss einfach android.R.layout.simple_list_item_2 verwenden!
Flixius ist offline   Mit Zitat antworten
Alt 09.03.2012, 14:53   #5 (permalink)
Neuer Benutzer

Registriert seit: 17.02.2012
Beiträge: 13
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: ListView - Daten anzeigen

Hallo,

ich habe mal ne etwas andere frage zu dem ListView.

Annahme: wir haben eine list.xml datei. Dort über den 'grafical layout' fügen wir eine Listview ein. Hinzukommen zwei Buttons die nebeneinander unter der Listview sind. Ungefähr so sollte es dann aussehen. die listView enthält 4 einträge.

was ich möchte ist, das wenn ich auf ein item klicke eine andere seite geöffnet wird. ABER: meine buttons sollen auch zu sehen sein, genau hier komme ich nicht weiter.

ich habe die methode 'onListItemClick ' benutzt bzw. musste daher die 'setcontentView()' auskommentieren. wobei genau damit ja meine View die ich im grafical layout gemacht habe, angezeigt werden soll. da bin ich etwas verwirrt.

der code hier drunter funzt nicht, aufgrund des 'setContentView)'. wenn ich es so starte komm ich gar nicht zur der listview, da es vorher zusammenbricht. wenn ich es auskommentiere, und einen listadapter implementiere dann, bekomme ich die liste, auf die ich dann auch klicken kann mit der jeweiligen action und so aber die buttons feheln mir dann. kann man das nicht irgendwie verknüpfen?

Code:
public class Liste extends ListActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.liste);
    }
    
    
    
    public void Back(View view) {
        this.finish();
    }



    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
        
        Intent i = new Intent(Liste.this, Game.class);
        startActivity(i);
    }
}
naruto25 ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Bilder in ListView eines Dialoges anzeigen spike Android App Entwicklung 2 05.12.2011 11:03
Wie Listview/Listactivity innerhalb eines anderen Activities anzeigen ioantudor Android App Entwicklung 3 21.10.2011 15:05
SQL-Daten in Listview mit Titel anzeigen Gibbsnich Android App Entwicklung 0 07.07.2011 17:34
Irgendetwas NEBEN ListView anzeigen mdolphin Android App Entwicklung 2 30.11.2010 14:40
ListView mit 2 Zeilen anzeigen aus xml beginnerUser Android App Entwicklung 2 30.09.2010 21:31




Du liest gerade: "ListView - Daten anzeigen" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.