Я новичок в Xamarin. Я пытаюсь связать объект с AutocompleteTextView в Xamarin Android. Я могу подключить адаптер, но когда я ввожу текст в AutoCompleteTextView, объект отображается как есть, а не текст. Я добавил обработчик событий для элемента Click и могу получить значение, которое хочу отобразить. Ниже приведен мой код и любая помощь или указатели о том, как получить значение в качестве предложения.AutocompleteTextView в Xamarin Android
Основная деятельность
класс MainActivity общественности: активность { граф INT = 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 {получить; задавать; } 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», если вы используете указанный выше список. –