onListItemClick wie einbinden?

  • hallo zusammen,
    nachdem in meiner ListActivity jetzt folgendes funktioniert:


    ListView mylistview = getListView();
    mylistview.setFastScrollEnabled(true);


    wollte ich per

    Code
    public void onListItemClick(ListView l, View v, int position, long id)
    	        { 
    			  UtilitiesDiverse.zeigeMeldung("Hallo Welt", context);
    
    
    	        }


    auf die Klicks auf die Liste raegieren.


    Leider tut sich gar nix, was ist da falsch ?


    Muss ich sicher noch mit mylistview verbinden, oder?


    aber wie ??

  • Der ClickListener muss in die View, die vom Viewholder verwaltet wird :)


    funktioniert doch nicht wie gewollt.


    hier bekomme ich keinen OnItemClickListener eingebunden.


    und wenn ich den in der Listactivity einbinde muss ich mir die Werte für die Detail-Ansicht wieder per findViewbyId holen.


    Irgendwie steh ich grad aufm Schlauch

  • Warum muss der ClickListener in dem View vom ViewHolder? Hast du ein Custom View mit weiteren Buttons? Wenn ja bitte den kompleten Quelltext herzeigen. Wenn nein hier mal ein Beispiel für dich zur Nutzung ;)



  • hallo drumliner,


    ich übergebe ja in dem ArrayAdapter keine String sondern eine Klasse Adresse.


    siehe Posting: Listview mit Indexanzeige


    die findViewsbyId in obigen Posting hab ich durch eine Viewholder ersetzt, ist ja dann wohl schneller.


    Das mit der Indexliste , bzw fastScrollenabled hat ja geklappt, aber
    wie bekomme ich jetzt per Klick die Detaiansicht implementiert?


    wenn ich in der Listactivity wieder alle Werte per findView holen muss, ist das irgendwie kontraproduktiv, oder ?

  • Das ist an der Stelle völlig egal was du da übergibst. Was dich interessiert ist doch die geklickte Zelle vom ListView und nichts von der Zelle selbst? Zumindest finde ich in deinem Beispiel (ListView mit Indexanzeige) keinen Hinweis darauf.


    Hast du Skype oder so?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!