在内容提供者中搜索字符串的一部分

Search for parts of a string in a content provider

你好,我正在实现一个搜索视图,在 onQueryTextChange 中,每次用户按下一个字母时,我都想在我的数据库中搜索它。 onQueryTextChange 已实施并正在运行,我需要搜索方面的帮助,例如:

String selection = AplicationContract.ArtistEntry.COLUMN_NAME + " LIKE ?";
String[] selectionArgs = { "MAX" };

            return new CursorLoader(getContext(),   
                    AplicationContract.ArtistEntry.CONTENT_URI,   
                    AplicationContract.ArtistEntry.PROJECTION,             
                    selection,                   
                    selectionArgs,                   
                    null);

如果我的数据库中有一个名字 "MAX",那 returns 我就是一个游标。但是,如果我的数据库中的名称是 "MAX"、"MASON"、"MEGAN"、"SEAN",那么当我点击字母 M 时,我想在我的内容提供程序中搜索带有字母 M,结果将是 "MAX"、"MASON"、"MEGAN"

当使用 like 语句时,您应该像这个演示一样编写代码:

select * from tb where c like "%M%"

只需在此站点上学习如何使用它:http://www.w3school.com

在这种情况下,您应该更正参数:

String[] selectionArgs = { "M"+"%" };