1

私はモノドロイド/モノタッチでしばらく遊んでいて、モノクロスから 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="{&apos;Text&apos;:{&apos;Path&apos;:&apos;Name&apos;}}" />
    </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="{&apos;Text&apos;:{&apos;Path&apos;:&apos;Items[0].Name&apos;}}" />

私は少し途方に暮れており、ViewModel 内の List をフラット化して Android View に対応させるというルートをたどりたくありませんでした。

どんな助けでもいただければ幸いです

4

1 に答える 1

0

これは役に立ちますか - ListView 内のフォーカス可能な EditText

. objA.mySubObjs にバインドできなかったことを除けば、

他の点については、これを別の質問としてお気軽に質問してください-可能であるはずです...

于 2012-08-11T04:16:58.607 に答える