2012-08-10 7 views
1

J'ai joué avec le monodroid/monotouch pendant un moment maintenant et ayant décidé de passer de monocross à mvvmcross, j'ai rencontré un petit problème.Listes MVVMCross Databinding avec EditText

J'ai un modèle de domaine qui contient une sous-propriété qui est une liste d'un autre objet de domaine. Has-Many si vous voulez. Ce que j'essaie de faire est d'afficher l'objet racine agrégé et permettre à l'utilisateur de remplir les détails du sous-objet.

public class objA 
{ 
    public List<objB> mySubObjs 
} 

J'ai assez facilement obtenu ce raccord en utilisant le MvxBindableListView. Excepté je ne pourrais pas lier à objA.mySubObjs, j'ai dû apporter la liste un niveau dans le ViewModel et lier à cela? Quoi qu'il en soit, la question que je pose est que mon itemtemplate pour la liste avait l'air un peu comme ce

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="horizontal" 
     android:layout_marginTop="2dip" 
     android:layout_marginBottom="2dip"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:text="a)" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 
     <EditText xmlns:local="http://schemas.android.com/apk/res/x.x.x.x" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      local:MvxBind="{&apos;Text&apos;:{&apos;Path&apos;:&apos;Name&apos;}}" /> 
    </RelativeLayout> 

Ce qui rend très bien, mais est tout simplement pas utilisable. Lorsque je clique sur le bouton editText, le clavier virtuel est activé et, ce faisant, il perd son focus. J'ai lu quelques articles sur EditText dans ListView ne fonctionnent pas trop bien.

Par conséquent, j'ai essayé de construire manuellement la vue Liste en liant à des éléments spécifiques, c'est-à-dire objA.mySubObjs [0] .Name, mais cela ne semble pas refléter dans le ViewModel.

<EditText 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Question" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     local:MvxBind="{&apos;Text&apos;:{&apos;Path&apos;:&apos;Items[0].Name&apos;}}" /> 

Je suis un peu d'une perte et ne voulait pas vraiment aller dans le sens d'aplatir la liste dans mon ViewModel pour accueillir la vue Android.

Toute aide serait appréciée

Répondre

0

cette aide - Focusable EditText inside ListView

. Sauf que je ne pouvais pas se lier à objA.mySubObjs,

sur d'autres points, ne hésitez pas à poser une question distincte - il devrait être possible ...