用这个代码
public static List<App> findByKeyword(Context context, String keyword){
ContentResolver resolver = context.getContentResolver();
Uri uri = getContentUri();
String[] projection = DataColumns.ALL;
String selection = DataColumns.NAME+" like '%?%' ";
String[] selectionArgs = {keyword};
Cursor cursor = resolver.query(uri, projection, selection, selectionArgs, DEFAULT_ORDER );
return cursorToList(cursor);
}我搞错了
由: java.lang.IllegalArgumentException:无法绑定索引1的参数引起,因为索引超出了范围。该语句有0个参数。
SQLite原始查询应该是SELECT * FROM table WHERE name LIKE '%?%',但是ContentResolver查询API中存在使用参数的问题。
我还试过使用"引号
String selection = DataColumns.NAME+" like \"%?%\" ";它还说
该语句有0个参数。
发布于 2014-09-19 11:11:24
试着用另一种方法:
String selection = DataColumns.NAME+" like ? ";
String[] selectionArgs = new String[]{ "%"+keyword+"%" };希望它能帮上忙
https://stackoverflow.com/questions/25932519
复制相似问题