我正在开发一个Android应用,其中我有 60个项目,我已与GridViewAdapter
绑定,显示每页9个项目并且正常工作。
BUT
我想使用项目名称从<60>项目进行搜索,并希望关注EditText
。
我已完成代码,但仅搜索当前正在显示的 9项。
是否有任何解决方案可以让它变得完美。
您的帮助总是得到赞赏......
答案 0 :(得分:0)
您可以在从数据库中提取数据时设置过滤器,并且只要在edittext中更改了文本,就会更改sql中的问题
Select * from table where name="nameFromEditText"
*表示你的柱子。选择全部使用*
并不好或者如果您正在使用contentProvider构建适当的问题到db
mCursor = getContentResolver().query(
URI // The content URI of the words table
YOUR_COLUMNS_HERE, // The columns to return for each row
NAME_OF_COLUMNS , // Selection criteria
ARGUMENTS_WHAT_NEED_TO_MATCH_TO_THESE_COLUMNS, // Selection criteria
SORT_ORDER);
或者您可以为gridView实现可过滤的适配器。只需在GridViewAdapter Filterable接口中实现,您就可以过滤所需的任何内容。 Example此示例引用listView,但也可以与gridView一起使用。
答案 1 :(得分:0)
此方案的最简单解决方案是运行搜索查询
Select * from TableName where Name="Given name from Edit text"
您可以双向运行此查询
如果您想在每次键入编辑文本中的任何字符时运行,那么就可以使用over ride方法
addTextChangedListener
如果您想在输入的文本末尾运行查询,请在按钮上单击按钮运行Db查询