私はモノドロイド/モノタッチでしばらく遊んでいて、モノクロスから mvvmcross にジャンプすることに決めましたが、少し問題が発生しました。
別のドメイン オブジェクトのリストであるサブ プロパティを含むドメイン モデルがあります。あなたがそうするなら、ハズ・マニー。私がやろうとしているのは、集約ルート オブジェクトを表示し、ユーザーがサブ オブジェクトの詳細を入力できるようにすることです。
public class objA
{
public List<objB> mySubObjs
}
MvxBindableListView を使用して、これを簡単に接続できました。objA.mySubObjs にバインドできなかったことを除けば、ViewModel でリストを 1 レベル上げてそれにバインドする必要がありましたか? とにかく、私が直面した問題は、リストの itemtemplate がこのように見えたことです。
<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="{'Text':{'Path':'Name'}}" />
</RelativeLayout>
これは問題なくレンダリングされますが、使用できません。editText コントロールをクリックすると、ソフトキーボードが表示され、そうするとフォーカスが失われます。ListView の EditText がうまく機能しないという記事をいくつか読みました。
したがって、特定のアイテム、つまり objA.mySubObjs[0].Name にバインドしてリスト ビューを手動で構築しようとしましたが、これは ViewModel に反映されていないようです。
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Question"
android:textAppearance="?android:attr/textAppearanceSmall"
local:MvxBind="{'Text':{'Path':'Items[0].Name'}}" />
私は少し途方に暮れており、ViewModel 内の List をフラット化して Android View に対応させるというルートをたどりたくありませんでした。
どんな助けでもいただければ幸いです