Android Sqlite,如何检查一行是否包含任何一个字符串

Android Sqlite,如何检查一行是否包含任何一个字符串,android,string,sqlite,row,Android,String,Sqlite,Row,使用下面的代码,我可以检查行是否包含单个字符串(字符串a),但如何检查行是否等于字符串(字符串a或b) 公共游标fetchMyList(){ String[]列={KEY\u ROWID,KEY\u CATEGORY,KEY\u SUMMARY, 密钥描述,密钥电子邮件}; String selection=“description=?”; 字符串a=“蓝色”; 字符串b=“红色”; 字符串[]SelectionAgs={a}; //String[]selectionArgs={a,b};///

使用下面的代码,我可以检查行是否包含单个字符串(字符串a),但如何检查行是否等于字符串(字符串a或b)

公共游标fetchMyList(){
String[]列={KEY\u ROWID,KEY\u CATEGORY,KEY\u SUMMARY,
密钥描述,密钥电子邮件};
String selection=“description=?”;
字符串a=“蓝色”;
字符串b=“红色”;
字符串[]SelectionAgs={a};
//String[]selectionArgs={a,b};///尝试过此操作无效!!
游标=空;
试一试{
游标=database.query(数据库\表、列、选择、,
selectionArgs,null,null,null);
}捕获(例外e){
e、 printStackTrace();
}
int numberOfRows=cursor.getCount();

if(numberOfRows如果声明2个参数,则只能传递2个参数。这是您想要的:

String selection = "description=? OR description=?"; // Select rows with either description
String[] selectionArgs = {a , b};
我强烈建议你检查一下

注意:不要捕获
Exception
。以后您会后悔的。捕获特定的异常子项;在您的情况下,您希望捕获
SQLException


PS2:使用
Log
而不是
printStackTrace()

谢谢你,我花了好几个小时寻找这个答案,有什么理由我不应该使用Exception吗?不客气。
String selection = "description=? OR description=?"; // Select rows with either description
String[] selectionArgs = {a , b};