2017-11-07 11 views
3

私は、ラインアイテムのボタンで別のアクションを行うリストを作成し、アイテムリストをタップします。ここで MvvmCross List - アイテムとアイテムのボタンをクリック

は、項目応答リストここ

<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が再び機能するので、このタップの実装ではありません。私は、ボタンを追加するとアイテムのクリックをブロックすると思います...

あなたはなぜこれを修正する方法がありますか?

ありがとうございます!

答えて

4

これは実際にMvvmCrossの問題ではなく、フォーカスに関する問題と子孫がAndroidでタッチイベントを受け取る方法です。

あなたのボタンでコンテナに

android:descendantFocusability="blocksDescendants" 

を追加することで、あなたの問題を解決することができるはずです。ボタンはImageButtonない場合は代わりに、単にあなたのボタンの宣言に

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

を追加するのに十分であり得ます。

+1

ありがとうございます!私は2番目のソリューションを使用し、それは働いた! – zarghol

関連する問題