MvvmCross列表 - 单击项目中的项目和按钮

时间:2017-11-07 15:34:30

标签: listview xamarin.android mvvmcross

我尝试使用行项目中的按钮执行不同操作的列表,然后点按项目列表。

这是清单

<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" />

以下是项目回复:

[...]
<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>

我的按钮工作正常,我可以毫无问题地点击它,但自从我添加它后,ItemClick不再有效。我可以从项目中删除我的按钮,然后ItemClick再次工作,所以不是这个水龙头的实现。我想添加一个按钮会阻止项目点击...

你有什么想法,以及如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:4)

这不是真正的MvvmCross问题,而是焦点问题以及后代如何在Android上接收触摸事件。

您应该可以通过添加

来解决问题
android:descendantFocusability="blocksDescendants" 
使用按钮

到容器。或者,如果按钮不是ImageButton,则仅添加

就足够了
android:focusable="false"
android:focusableInTouchMode="false"

到您的按钮声明。