如何在 Android 应用程序中使用 AutoCompleteTextView 传递用户的选择?
How to pass user's choice using AutoCompleteTextView in Android app?
我正在 Xamarin 中构建一个应用程序,我有一个 AutoCompleteTextView 可以在用户开始键入文本后为他们提供多种选择。它有效,但出于某种原因,我无法将选择保存在字符串中并传递给下一个函数。
string choise;
void InitializeAutocomplete() {
var autoCompleteOptions = new String[] { "hello", "see you" };
ArrayAdapter autoCompleteAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleDropDownItem1Line, autoCompleteOptions);
var autoCompleteTextView = FindViewById<AutoCompleteTextView>(Resource.Id.autoComplete);
autoCompleteTextView.Adapter = autoCompleteAdapter;
choise = ?!?!
}
如何实现?
由于 Xamarin 论坛上的 this 线程,设法解决了它:
已添加:
void autoTextView_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
AutoCompleteTextView autoText = (AutoCompleteTextView)sender;
choise = autoText.Text;
}
和
void InitializeAutocomplete() {
var autoCompleteOptions = new String[] { "hello", "see you" };
ArrayAdapter autoCompleteAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleDropDownItem1Line, autoCompleteOptions);
var autoCompleteTextView = FindViewById<AutoCompleteTextView>(Resource.Id.autoComplete);
autoCompleteTextView.Adapter = autoCompleteAdapter;
autoCompleteTextView.ItemClick += autoTextView_ItemClick;
}
现在变量选择 returns 用户选择。
我正在 Xamarin 中构建一个应用程序,我有一个 AutoCompleteTextView 可以在用户开始键入文本后为他们提供多种选择。它有效,但出于某种原因,我无法将选择保存在字符串中并传递给下一个函数。
string choise;
void InitializeAutocomplete() {
var autoCompleteOptions = new String[] { "hello", "see you" };
ArrayAdapter autoCompleteAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleDropDownItem1Line, autoCompleteOptions);
var autoCompleteTextView = FindViewById<AutoCompleteTextView>(Resource.Id.autoComplete);
autoCompleteTextView.Adapter = autoCompleteAdapter;
choise = ?!?!
}
如何实现?
由于 Xamarin 论坛上的 this 线程,设法解决了它:
已添加:
void autoTextView_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
AutoCompleteTextView autoText = (AutoCompleteTextView)sender;
choise = autoText.Text;
}
和
void InitializeAutocomplete() {
var autoCompleteOptions = new String[] { "hello", "see you" };
ArrayAdapter autoCompleteAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleDropDownItem1Line, autoCompleteOptions);
var autoCompleteTextView = FindViewById<AutoCompleteTextView>(Resource.Id.autoComplete);
autoCompleteTextView.Adapter = autoCompleteAdapter;
autoCompleteTextView.ItemClick += autoTextView_ItemClick;
}
现在变量选择 returns 用户选择。