点击按钮时如何获取AutoCompleteTextView的值?附代码求助
获取AutoCompleteTextView的值(按钮点击事件中)
我来帮你搞定这个问题~首先得把你的代码补全,再添加按钮点击的逻辑,具体步骤和代码如下:
首先,确保你的Resource.Layout.pager_item布局文件里有一个AutoCompleteTextView控件(比如给它设置id为Resource.Id.autoCompleteTxt),然后修改你的代码:
string hozzaadnivalo; // 可选:声明类成员变量方便后续访问 private AutoCompleteTextView _autoCompleteTxt; public override Java.Lang.Object InstantiateItem(ViewGroup container, int position) { View view = LayoutInflater.From(container.Context).Inflate(Resource.Layout.pager_item, container, false); container.AddView(view); // 找到AutoCompleteTextView控件 _autoCompleteTxt = view.FindViewById<AutoCompleteTextView>(Resource.Id.autoCompleteTxt); Button hozzaadas = view.FindViewById<Button>(Resource.Id.hozzaad); var autoCompleteOptions = new string[] { "Sajt", "Tej", "Kecske", "Barátnő", "piros", "alma" }; // 补全ArrayAdapter实例化代码 ArrayAdapter autoCompleteAdapter = new ArrayAdapter(container.Context, Android.Resource.Layout.SimpleDropDownItem1Line, autoCompleteOptions); // 给AutoCompleteTextView设置适配器 _autoCompleteTxt.Adapter = autoCompleteAdapter; // 添加按钮点击事件监听 hozzaadas.Click += (sender, e) => { // 获取AutoCompleteTextView的当前文本值 string selectedValue = _autoCompleteTxt.Text; // 这里可以对值做后续处理,比如赋值给你的变量 hozzaadnivalo = selectedValue; // 测试用:打印获取到的值 Console.WriteLine($"当前选中/输入的值:{selectedValue}"); }; return view; }
补充说明:
- 如果你不想用类成员变量,也可以把
AutoCompleteTextView声明为方法内的局部变量,lambda表达式可以直接捕获它:
// 方法内局部变量 var autoCompleteTxt = view.FindViewById<AutoCompleteTextView>(Resource.Id.autoCompleteTxt); // ... 其他代码 hozzaadas.Click += (sender, e) => { string selectedValue = autoCompleteTxt.Text; // 处理逻辑 };
- 一定要保证布局里的控件id和代码中
FindViewById的参数完全一致,不然会出现找不到控件的问题~ AutoCompleteTextView.Text属性就是当前用户输入或选中的文本内容,直接调用就能获取到啦。
内容的提问来源于stack exchange,提问作者Zoltan Kiraly
相关产品推荐
相关产品推荐

