2017-02-17 103 views
0

我目前正在尝试使用MvvmCross制作Xamarin.Android应用程序。MvxAutoCompleteTextView绑定2属性

这就是我想实现:

Multiline autocomplete

这是它背后的axml:

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="8dp" 
    android:layout_marginBottom="8dp"> 
    <MvvmCross.Binding.Droid.Views.MvxAutoCompleteTextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="Klant naam" 
     local:MvxBind="Text Klant.Naam; ItemsSource KlantNamen; PartialText CurrentKlantHint; SelectedObject SelectedKlant" /> 
</android.support.design.widget.TextInputLayout> 

我想使用含有姓名和号码

列表

回答

1

您需要提供带有项目模板的MvxAutoCompleteTextView,以便在建议中显示自定义内容。

<MvvmCross.Binding.Droid.Views.MvxAutoCompleteTextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="Klant naam" 
     local:MvxItemTemplate="@layout/my_template" 
     local:MvxBind="Text Klant.Naam; ItemsSource KlantNamen; PartialText CurrentKlantHint; SelectedObject SelectedKlant" /> 

里面的my_template你定义自己的布局,每个所建议的项目。将模板内部的视图绑定到KlantNamen集合中ViewModels的属性的位置。

这可能看起来像:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:local="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="55dp" 
    android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" 
    android:paddingStart="?android:attr/listPreferredItemPaddingStart" 
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" 
    android:paddingRight="?android:attr/listPreferredItemPaddingRight" 
    android:background="?attr/selectableItemBackground"> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="30dp" 
     android:textAppearance="@style/TextAppearance.AppCompat.Title" 
     local:MvxBind="Text Name" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="25dp" 
     android:textAppearance="@style/TextAppearance.AppCompat.Subhead" 
     local:MvxBind="Text Price" /> 
</LinearLayout> 
+0

就像一个魅力!谢谢 –