我使用autoCompleteTextVIEw来提供地址建议.
我想要做的是当用户输入地址(例如“Ma”)时,建议显示为“Mary,Madley,Ma ……”.
然后,当用户选择其中一个建议时,他立即获得包含整个地址的另一个建议.
例如:他选择了“Mary”,他得到的建议有“Mary 123,Boston”,“Mary 1566,New York”,“Mary Jane 569,New York”.
问题是建议填充适配器,但未显示.选择后,下拉列表不会显示.
到目前为止,我的文本观察程序被分配给autoCompleteTextVIEw负责建议:
TextWatcher textWatcher = new TextWatcher() { @OverrIDe public voID onTextChanged(CharSequence s, int start, int before, int count) { } @OverrIDe public voID beforeTextChanged(CharSequence s, int start, int count, int after) { } @OverrIDe public voID afterTextChanged(Editable s) { if(etStreet.isPerformingCompletion()) return; List<String> arrayValues = getValues(); ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), androID.R.layout.simple_dropdown_item_1line, arrayValues); etUlica.setAdapter(adapter); }};
我试过在项目点击,文本更改和其他所有事件上调用showDropDown(),但它不会显示.它仅显示键盘上的用户类型.
解决方法:
在autoCompleteTextVIEw.setonItemClickListener()中写下面的代码
autoComplete.setonItemClickListener(new OnItemClickListener() { @OverrIDe public voID onItemClick(AdapterVIEw<?> parent, VIEw vIEw, int position, long ID) { autoComplete.postDelayed(new Runnable() { @OverrIDe public voID run() { autoComplete.showDropDown(); } },100); autoComplete.setText(autoComplete.getText().toString()); autoComplete.setSelection(autoComplete.getText().length()); } });
就是这样,它会像魅力一样工作!
这将为您提供问题的提示,根据您的需要和适配器数据进行更改
总结以上是内存溢出为你收集整理的android – AutoCompleteTextView – 选择后显示建议全部内容,希望文章能够帮你解决android – AutoCompleteTextView – 选择后显示建议所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)