gpt4 book ai didi

android - AutoCompleteTextView - 选择后显示建议

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:49 25 4
gpt4 key购买 nike

我正在使用 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 - 选择后显示建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33939442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com