2016-06-20 11 views
1

私はMvxLinearLayoutsに基づいて項目を含むMvxListViewを持っています。目標は、グループ化されたリストを取得することです。これまでのところ動作します。ネストされた線形レイアウトのアイテムはクリックされません

enter image description here

私が持っている問題は、クリックイベントは現在、リニアレイアウトではなく、私が上でクリックした項目によってcatchedされていることです。私は上記のListViewとLinearLayoutをクリックできないようにしようとしましたが、うまくいきませんでした。 は、ここに私のコードです:

MvxListView:

<MvxListView 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/payment_List" 
     android:descendantFocusability="afterDescendants" 
     android:listSelector="@drawable/list_item_selector" 
     local:MvxItemTemplate="@layout/listitem_payment_grouped" 
     local:MvxBind="ItemsSource Source" /> 

listitem_payment_grouped:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:local="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:descendantFocusability="afterDescendants" 
    android:layout_height="wrap_content"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="left" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:textColor="@color/black" 
     local:MvxBind="Text Key" /> 
    <Mvx.MvxLinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/payment_List" 
     android:listSelector="@drawable/list_item_selector" 
     local:MvxItemTemplate="@layout/listitem_payment" 
     local:MvxBind="ItemsSource .;ItemClick EditCommand" /> 
</LinearLayout> 

listitem_payment:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:local="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="match_parent"    
    android:layout_height="wrap_content" 
    android:background="@color/light_gray" 
    android:paddingLeft="6dp" 
    android:paddingRight="6dp" 
    android:layout_marginBottom="4dp" 
    android:translationZ="3dp"> 
    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="left" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:textColor="@color/black" 
      local:MvxBind="Text Date, Converter=DateTimeFormat" /> 
     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="right" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentBottom="true" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:textColor="@color/black" 
      local:MvxBind="Text PaymentAmount(., ChargedAccount)" /> 
    </LinearLayout> 
    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="left" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:layout_marginTop="5dp" 
      android:layout_weight="0.9" 
      local:MvxBind="Text Category.Name" /> 
     <ImageView 
      android:src="@drawable/ic_done_black" 
      android:layout_gravity="right" 
      android:layout_width="24dp" 
      android:layout_height="24dp" 
      android:layout_weight="0.05" 
      local:MvxBind="Visible IsCleared" /> 
     <ImageView 
      android:src="@drawable/ic_recurring" 
      android:layout_gravity="right" 
      android:layout_width="24dp" 
      android:layout_height="24dp" 
      android:layout_weight="0.05" 
      local:MvxBind="Visible IsRecurring" /> 
    </LinearLayout> 
</LinearLayout> 
+0

あなたのJavaコードを共有します。私はLinearLayout .. onClickListnerを設定していると思います! –

+0

これはmvvmcrossを持つxamarinアプリケーションなので、javaコードはなく、クリックはバインドされる必要があります。しかし、あなたは良い点を挙げました。問題は、listitem_payment_groupedでデータコンテキストが変更されたため、EditCommandがなくなったようです。 – NPadrutt

答えて

0

あなたはビューで作成されたことを示すために持っているので、その後場合ListAdapterには、明示的に追加してフォーカス可能な項目が含まれていますsetItemsCanFocus(true)あなたのリストビューでは、

myListView.setItemsCanFocus(true); 
+0

FindViewByIdコードにこの行を追加しました。(Resource.Id.payment_List).ItemsCanFocus = true; でも動作しません。私はまた、アンドロイドを追加しようとしました:descendantFocusability = "afterDescendants"。しかし、成功もありません。元の投稿のコードを更新しました。 – NPadrutt

関連する問題