我刚刚实施了使用在线Web服务一个文本框的自动完成,在此基础上回答#2: ArrayAdapter is updated late from Webservice in AutoCompleteTextAdapter转换选择为String
使用一个ArrayAdapter<User> implements Filterable
,我负责的是自动完成建议我按预期输入。 User
是一个Java Bean,它包含在建议(年龄,名称,...)中提供的信息。
当我选择一个建议时,自动填充字段将填充'错误'数据 - 使用toString()
方法,而不是bean的'name'属性。
我的问题是:我可以重写(在适配器)一个方法,这将允许我指定如何转换该bean,以便为AutoCompleteTextView返回正确的属性? (理想情况下,不应该改变User.toString())
Thx!
您可以创建子类AutoCompleteTextView,并添加一个方法 setCustomConvertSelectionToStringMethod(),它使用自定义的“toString”方法接受对象(接口) 在convertSelectionToString方法中,检查customMethod并执行它,如果它存在... 这样,必须子类化一次 – vanleeuwenbram