2010-11-21 12 views
-1

ich habe eine Schaltfläche in Listview .now ich will button.setonclicklistener verwenden und onListItemClick was ichKnopf auf Listview

Antwort

2

Zum Behandeln von Ereignissen von ListActivity das erste, was Sie tun need ist

getListView() Diese Methode gibt die eingebettete ListView der Aktivität zurück.

Für den Hörer einstellen, müssen Sie den folgenden Code in OnCreate (Bundle BundleSavedInstanceState) Methode setzen.

getListView() setOnItemClickListener (this);

und Umsetzung der Click-Handler: public void onItemClick (AdapterView Elternteil, Ansicht Ansicht, int Position, long id) {// TODO Automatisch generierte Methode Stummel ArrayAdapter Adapter = (ArrayAdapter) parent.getAdapter(); adapter.getItem (Position); }

+0

Bitte zeigen Sie mir eine alternative Lösung. – bbkaaka

0

Sie können auch anrufen setItemsCanFocus(true) auf Ihrem Listview tun müssen, und Ihre Tasten auf true fokussierbarem und klickbare Eigenschaft ;

Heres ein Beispielcode:

, wenn Ihr mit einem ListAcitivity mit Ihrer Liste Elemente anzuzeigen:

können Sie anrufen:

getListView.setItemsCanFocus(true); 
button.setFocusable(true); 
button.setClickable(true); 

optional können Sie diese klickbare Eigenschaften von Schaltfläche definieren aus XML-Datei (wenn Sie ein xml-basiertes Layout in Ihrem benutzerdefinierten Adapter aufblasen.)

+0

Ich habe versucht, aber es funktioniert nicht, wie ich es erwarte – bbkaaka

+0

setItemsCanFocus macht einige wichtige Änderungen in der Handhabung von ListView Interaktionen. Die kurze Antwort ist, dass Sie in diesem Modus nicht versuchen möchten, einen Objektklick-Listener zu verwenden. Weitere Informationen hierzu finden Sie unter http://stackoverflow.com/questions/3789943/ using-android-how-can-i-select-rows-from-a-listview-which-contains-button-contro/3791340 # 3791340 – adamp