我正在寻找一些帮助来找到一种强大的方法来允许选择不同的List项目。 我的情况是,我有一个列表配置文件,列表团队......我希望有一个自动完成输入将显示,例如,如果我键入Al,所有具有成员变量名称的团队和配置文件对象开始人。 结果是我可以从活动,提交点击执行,列表&包含通过自动填充表单选择的所有对象的列表。 此外,我希望提供给用户的列表与他输入的字符匹配,显示名称和图片(Facebook喜欢标签选择)。
显然,我不是要求一些代码,而是要求经验丰富的Android开发人员提供一些指导,他们知道该怎么做,而不是去创造这种东西。
由于
答案 0 :(得分:0)
Loader是筛选列表的最佳方式之一。您初始化一个加载器,它使用用于过滤器的String约束,每次用户键入时,您更新约束并重新启动Loader。
如果我假设所有对象都缓存在SQLite数据库中,则可以使用CursorAdapter,Cursor和CursorLoader。 您可以通过使用EditText的内容过滤查询来创建所需的CursorLoader。
如果您不熟悉CursorLoader,则有AsyncTaskLoader,这样您就不需要DB并编写可以接受原始查询的提供程序。 ListA,ListB等中的对象必须继承公共类(hum ... DataThing,可能:-)),您可以在列表中连接对象,然后可以过滤列表:What is the best way to filter a Java Collection?
这是数据过滤。现在,为了以您希望的方式显示数据,您可以在EditText字段下方显示列表,或者如果您想要更高级的外观,则可以创建自定义组件。