在内容提供者中搜索字符串的一部分
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"+"%" };
你好,我正在实现一个搜索视图,在 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"+"%" };