1

我已经玩了一段时间的 monodroid/monotouch,并决定从 monocross 跳到 mvvmcross,我遇到了一些问题。

我有一个域模型,它包含一个子属性,它是另一个域对象的列表。如果你愿意的话,有很多。我要做的是显示聚合根对象并允许用户填写子对象的详细信息。

public class objA
{
    public List<objB> mySubObjs
}

我很容易使用 MvxBindableListView 将其连接起来。除了我无法绑定到 objA.mySubObjs 之外,我必须在 ViewModel 中将列表提升到一个级别并绑定到它?无论如何,我面临的问题是我的列表项模板看起来有点像这样

    <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 中扁平化列表以适应 Android 视图的路线。

任何帮助,将不胜感激

4

1 回答 1

0

这有帮助吗 - ListView 中的 Focusable EditText

. 除了我无法绑定到 objA.mySubObjs,

在其他方面,请随时将此作为一个单独的问题提出 - 应该有可能......

于 2012-08-11T04:16:58.607 回答