gpt4 book ai didi

android - 将 Android 自动完成中的选择转换为字符串

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

我刚刚使用在线网络服务为文本字段实现了自动完成,基于 Stackoverflow 上的这个答案: ArrayAdapter is updated late from Webservice in AutoCompleteTextAdapter

使用 ArrayAdapter<User> implements Filterable ,我已经设法让自动完成功能按预期建议我输入。 User是一个 Java Bean,其中包含建议中提供的信息(年龄、姓名、...)。

当我选择一个建议时,自动完成字段填充了“错误”数据 - 使用 toString()方法,而不是 bean 的“名称”属性。

我的问题是:我能否覆盖(在适配器中)允许我指定如何转换 bean 以便为 AutoCompleteTextView 返回正确属性的方法?(理想情况下,不应更改 User.toString())

谢谢!

最佳答案

无需子类化 AutoCompleteTextView 并覆盖 convertSelectionToString 方法。同样的事情可以通过覆盖 convertResultToString 来实现。自定义 Filter 中的方法(您已经子类化)ArrayAdapter

我遇到了同样的问题:我的 ArrayAdapter 中的自定义对象的 toString() 实现不是我可以控制的。我实现了这样的方法:

// In custom Filter implementation

@Override
public CharSequence convertResultToString(Object result) {
if(result instanceof MyCustomClass) {
return ((MyCustomClass) result).getAttribute("name");
}

return super.convertResultToString(result);
}

关于android - 将 Android 自动完成中的选择转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7387956/

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