1
我是Xamarin的新手。我試圖將一個對象綁定到Xamarin Android中的AutocompleteTextView。我能夠附加適配器,但是當我在AutoCompleteTextView中輸入文本時,對象按原樣顯示,而不是文本。我爲Item Click添加了事件處理程序,並能夠獲取我想要顯示的值。 下面是我的代碼和任何幫助或指示如何得到顯示作爲建議的價值。Xamarin Android中的AutocompleteTextView
主要活動
公共類MainActivity:活動 { 詮釋計數= 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 { 公共字符串工作站名稱{獲得;組; } public int StationId {get;組; }
public AutoCompleteTextModel()
{
}
}
公共類MainActivityModel { 公開名單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"
});
}
}
您還應該定義列表中的數據類型。假設,如上所述。向他解釋如何使用上面的列表,如何訪問「StationName」。 –