【发布时间】:2016-01-26 04:12:43
【问题描述】:
我是 Xamarin 的新手。我正在尝试将对象绑定到 Xamarin Android 中的 AutocompleteTextView。我可以附加适配器,但是当我在 AutoCompleteTextView 中输入文本时,对象按原样显示,而不是文本。我为 Item Click 添加了事件处理程序,并能够获取我想要显示的值。 以下是我的代码以及有关如何将值显示为建议的任何帮助或指针。
主要活动
公共类 MainActivity : Activity { 整数计数 = 1;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button> (Resource.Id.myButton);
//button.Text =
MainActivityModel Mv = new MainActivityModel();
ArrayAdapter<AutoCompleteTextModel> adapter = new ArrayAdapter<AutoCompleteTextModel>
(this,Android.Resource.Layout.SimpleDropDownItem1Line,Mv.StationsList);
AutoCompleteTextView actv = FindViewById<AutoCompleteTextView>(Resource.Id.source);
actv.Adapter = adapter;
//actv.Threshold = 1;
actv.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => {
actv.Text = Mv.StationsList[e.Position].StationName;
};
actv.TextChanged += (object sender, Android.Text.TextChangedEventArgs e) => {
new ArrayAdapter (
this,
Android.Resource.Layout.SimpleListItem1,
Mv.StationsList.FindAll (a => a.StationName.Contains(actv.Text)).ToArray ());
};
button.Click += delegate {
button.Text = string.Format ("{0} clicks!", count++);
};
}
}
AutoCompleteTextViewModel
公共类 AutoCompleteTextModel { 公共字符串 StationName { 获取;放; } 公共 int StationId { 获取;放; }
public AutoCompleteTextModel ()
{
}
}
公共类 MainActivityModel { public List StationsList;
public MainActivityModel ()
{
StationsList = new List<AutoCompleteTextModel> ();
StationsList.Add (new AutoCompleteTextModel () {StationId = 1, StationName = "Chennai Beach"
});
StationsList.Add (new AutoCompleteTextModel () {StationId = 1, StationName = "Chennai Fort"
});
StationsList.Add (new AutoCompleteTextModel () {StationId = 1, StationName = "Chennai Park"
});
StationsList.Add (new AutoCompleteTextModel () {StationId = 1, StationName = "Chennai Egmore"
});
StationsList.Add (new AutoCompleteTextModel () {StationId = 1, StationName = "Chetpet"
});
}
}
【问题讨论】:
标签: c# android xamarin xamarin.android