在GridView中移动位置

时间:2014-01-09 06:14:17

标签: android android-gridview android-search

我正在开发一个Android应用,其中我有 60个项目,我已与GridViewAdapter绑定,显示每页9个项目并且正常工作。

GridView

BUT

我想使用项目名称从<60>项目进行搜索,并希望关注EditText

我已完成代码,但仅搜索当前正在显示的 9项

是否有任何解决方案可以让它变得完美。

您的帮助总是得到赞赏......

2 个答案:

答案 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"

您可以双向运行此查询

  1. 如果您想在每次键入编辑文本中的任何字符时运行,那么就可以使用over ride方法

    addTextChangedListener

  2. 如果您想在输入的文本末尾运行查询,请在按钮上单击按钮运行Db查询