AutoCompleteField建议可供选择的字符串列表,但我找不到只输入现有字符串的一部分的方法。
例如:在AutoCompleteFieldDemo示例中,我们有一个'month'字段。当我们在该字段中输入'ju'时,我们有一个可用字符串'June'和'July'的列表。当您按“Enter”时 - 选择并接受整个“六月”或“七月”。当您按“返回”按钮时 - 字段将被完全清除
问题是如何接受'ju'作为该字段的最终字符串并转到下一个控件?它是标准控件无法实现的吗?
P.S。实际上这个问题与我的主题here重复。
答案 0 :(得分:1)
这是解决方案,在尝试了几个小时之后......在论坛中查找并没有成功,我提出了这个解决方案:
final AutoCompleteField autofield = new AutoCompleteField(list){
public void fieldChanged(Field field,int context){
super.fieldChanged(field, context);
if (flag){
list.clear();
String strings_input[] = new String[1];
strings[0] = getEditField().getText();
list.addDataSet(0, strings_input, "blah blah",BasicFilteredList.COMPARISON_IGNORE_CASE);
list.addDataSet(1, strings_months, "blah blah 2",BasicFilteredList.COMPARISON_IGNORE_CASE);
}
}
public void onSelect(Object selection, int type){
flag = false;
super.onSelect(selection, type);
getEditField().setText(((BasicFilteredListResult)selection)._object.toString());
flag = true;
}
};
这实际上会将您正在键入的文本插入已过滤的列表中,以便您可以从下拉列表中选择它。
希望有所帮助