listview android中的自定义筛选

listview android中的自定义筛选,android,android-listview,Android,Android Listview,我是Android新手,我有一个包含一些项目的列表视图,每个项目包含大小为20个字符的字符串(第1个字符到第16个字符相同)。我必须将搜索选项添加到列表视图中,这样,根据最后4个字符,列表才应该过滤。我看过很多网站,但都找不到 例如: 列表项:123456789ABCD1 列表项:123456789EFGH2 列表项:123456789IJKL3 列表项:123456789MNOP4 如果我使用 @Override public void afterTextChanged(Editable s

我是Android新手,我有一个包含一些项目的列表视图,每个项目包含大小为20个字符的字符串(第1个字符到第16个字符相同)。我必须将搜索选项添加到列表视图中,这样,根据最后4个字符,列表才应该过滤。我看过很多网站,但都找不到

例如:
列表项:123456789ABCD1
列表项:123456789EFGH2
列表项:123456789IJKL3
列表项:123456789MNOP4

如果我使用

 @Override
public void afterTextChanged(Editable s) {
    // TODO Auto-generated method stub

}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
        int after) {
    // TODO Auto-generated method stub

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {




    myAdapter.getFilter().filter(s.toString());

}
我应该进入
Edittext中的123456789A则listview中仅出现筛选器

我的要求是
我应该进去 编辑文本中的AB,以便开始过滤


如果您能提出意见,我将不胜感激。提前感谢

您可以通过两种方式完成

1) 对列表vie中的阵列数据应用筛选器 为此,请使用
String.Contains()
方法

示例:-
listary[i].toString.contains(SearchString)//如果存在搜索字符串,则返回true

2) 如果将列表数据保存到Sqlite数据库中。您可以运行如下所示的查询

示例:-
sqliteDatabaseObj.Query(表名,null,列名+“like%”+搜索字符串“%”,null,null)

这是另一个例子

注:我写的例子在语法上不正确。请检查文档并使用它们

我认为您必须做的是,正如您所说,列表项具有固定长度(即20个字母),因此首先通过subString方法获取字符串的最后四个字母。然后将结果字符串放入搜索查询中

获取搜索字符串

字符串搜索\u str=str.substring(i-4,i)

将“search_str”放入SQL查询


从表名称中选择*代码,如“%search\u str%”

您是否尝试过用“%”查询您的文本“%Ankit\u awast先生,我不知道用“%”查询您的文本“%”,请解释一下。
String Str = new String("123456789ABCD");
        int i = Str.length();
        System.out.print("Return Value :");
        System.out.println(Str.substring(10));

        System.out.print("Return Value :");
        System.out.println(Str.substring(i - 4, i));