我尝试使用行项目中的按钮执行不同操作的列表,然后点按项目列表。
这是清单
<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再次工作,所以不是这个水龙头的实现。我想添加一个按钮会阻止项目点击...
你有什么想法,以及如何解决这个问题?
谢谢!
答案 0 :(得分:4)
这不是真正的MvvmCross问题,而是焦点问题以及后代如何在Android上接收触摸事件。
您应该可以通过添加
来解决问题android:descendantFocusability="blocksDescendants"
使用按钮到容器。或者,如果按钮不是ImageButton
,则仅添加
android:focusable="false"
android:focusableInTouchMode="false"
到您的按钮声明。