2017-11-07 1 views
3

Ich versuche, eine Liste, die andere Aktion mit einer Schaltfläche in der Werbebuchung ausführen, und tippen Sie auf die Elementliste. HierMvvmCross-Liste - Klicken Sie auf Element und Schaltfläche in Element

ist die Liste

<Mvx.MvxListView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/RecapResponsesListView" 
    local:MvxBind="ItemsSource ReponsesRecapList; ItemClick GoToLandscapeQuestion;" 
    local:MvxItemTemplate="@layout/item_response" /> 

Hier wird das Element Antwort:

[...] 
<Button 
    android:id="@+id/ResponseValidate" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="20" 
    android:layout_gravity="center" 
    android:gravity="center" 
    android:text="Valider" 
    local:MvxBind="Click ConfirmResponseCommand; Enabled ConfirmButtonEnabled" /> 
</LinearLayout> 

Meine Taste funktioniert gut, ich es ohne Probleme tippen können, aber da ich hinzugefügt, um es, die ItemClick funktioniert nicht mehr. Ich kann meine Schaltfläche aus dem Objekt entfernen, und ItemClick funktioniert erneut. Es ist also nicht die Implementierung dieser Aktion, die nicht funktioniert. Ich denke, das Hinzufügen einer Schaltfläche Block den Artikel klicken ...

Haben Sie irgendwelche Ideen, warum und wie Sie das beheben?

Danke!

Antwort

4

Dies ist nicht wirklich ein MvvmCross-Problem, sondern ein Problem mit Fokus und wie Nachkommen Touch-Ereignisse auf Android erhalten.

sollten Sie in der Lage sein, das Problem zu beheben, indem Sie mit Ihrem Knopf

android:descendantFocusability="blocksDescendants" 

zum Container hinzufügen. Alternativ kann, wenn die Schaltfläche nicht ein ImageButton ist, kann es ausreichend sein, um einfach

android:focusable="false" 
android:focusableInTouchMode="false" 

auf Ihre Schaltfläche Erklärung hinzuzufügen.

+1

danke! Ich habe die zweite Lösung verwendet, und es hat funktioniert! – zarghol

Verwandte Themen