使用EditText的MVVMCross数据绑定列表

时间:2012-08-10 07:33:17

标签: xamarin.android mvvmcross

我一直在玩monodroid / monotouch已经有一段时间了,并且决定从单眼镜头跳到mvvmcross,我遇到了一些问题。

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

public class objA
{
    public List<objB> mySubObjs
}

我很容易使用MvxBindableListView将其连接起来。除非我无法绑定到objA.mySubObjs,否则我必须将列表提升到ViewModel中的一个级别并绑定到该级别?无论如何,我面临的问题是List的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)手动构建List视图,但这似乎并未反映在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。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

这有用吗 - Focusable EditText inside ListView

  

。除非我无法绑定到objA.mySubObjs,

关于其他问题,请随意将此问题作为一个单独的问题 - 应该可以......