我正在使用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(),但它就是不会出现。只有当用户在键盘上输入时才会显示。