2012-03-26 5 views
13

Ich habe eine ExpandableListActivity mit einem benutzerdefinierten Adapter.Schaltfläche in erweiterbare Listview Android

Wenn die benutzerdefinierte Zeile des Adapters eine ImageViewAll enthält, wird die erweiterbare ListView nicht erweitert, wenn ich diese Ansicht jedoch von imageView in imageButton ändere.

Gibt es eine Methode zum Einfügen einer Schaltfläche, auf die geklickt werden kann, und die Erweiterungsliste nicht die Funktionalität zum Erweitern verliert?

Antwort

19

Der Knopf sollte nicht fokusierbar sein. In Ihrem listView.setOnItemClickListener (nicht im XML-Layout !!):

Button button = (Button) view.findViewById(R.id.yourButton); 
//where button is the button on listView, and view is the view of your item on list 

button.setFocusable(false); /// THIS IS THE SOLUTION 

button.setOnClickListener(new Button.OnClickListener() { 
    public void onClick(View v) { 
     //button functionalty ... 
    } 
}); 
+0

danke !! mach dir keine Sorgen für dich Englisch, meins ist schlimmer;) – thenosic

+0

(Buttom) sollte (Button) – pahan

+1

noch ein wtf Moment für Android –

1

Sie können der ‚fokussierbar‘ Attribut nicht nur in der Klasse, aber in der XML als auch, zumindest für mich, dass es funktioniert.

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:focusable="false"/>