过滤从SQLite填充的列表视图

时间:2014-04-06 22:46:57

标签: android sqlite android-listview

我在listview中添加了一个过滤器(从sqlite填充)。我正在使用此方法从sqlite

获取记录
 public Cursor fetchServicesByName(String inputText, String c) throws SQLException {
    db = this.getReadableDatabase();
      Cursor mCursor = null;
      if (inputText == null  ||  inputText.length () == 0)  {
       mCursor = db.query(TABLE_SERVICE, new String[] {KEY_ID,KEY_NAME,
         KEY_ADRESSE, KEY_EMAIL, KEY_NUMTEL, KEY_WEBSITE,KEY_IMAGE}, KEY_TYPE + "=?",
         new String[] { c },null, null, null, null);

      }
      else {
       mCursor = db.query(true, TABLE_SERVICE, new String[] {KEY_ID,KEY_NAME,
               KEY_ADRESSE, KEY_EMAIL, KEY_NUMTEL, KEY_WEBSITE,KEY_IMAGE},
         KEY_NAME + " like '%" + inputText + "%'" , null,
         null, null, null, null);
      }
      if (mCursor != null) {
       mCursor.moveToFirst();
      }
      return mCursor;

这是有效的,但我想要做的是按inputText和KEY_TYPE

进行过滤

我使用了这个(而不是最后一个db.query),但它没有返回任何内容

 mCursor = db.query(TABLE_SERVICE, new String[] {KEY_ID,KEY_NAME,
               KEY_ADRESSE, KEY_EMAIL, KEY_NUMTEL, KEY_WEBSITE,KEY_IMAGE},
         KEY_NAME + " like ? and" + KEY_TYPE + " like ? " , new String[] { inputText, c},
         null, null, null, null);

1 个答案:

答案 0 :(得分:0)

您需要检查inputtext和keytype是否为null! 当你填写输入文本和c vallue时,你的日常工作是什么?