从数据库填充的过滤列表视图不显示非拉丁字符的结果

时间:2013-02-15 17:44:35

标签: android sqlite

我有一个列表视图,用于显示数据库的记录,还有一个textWatcher用于过滤显示的项目。问题是这适用于拉丁字符,但不适用于unicode。但Unicode显示正常。 以下是相关代码:

etFilter.addTextChangedListener(new TextWatcher() {

       public void beforeTextChanged(CharSequence s, int start, 
         int count, int after) {
       }

       public void onTextChanged(CharSequence s, int start, 
         int before, int count) {
        dataAdapter.getFilter().filter(s.toString());
       }

    public void afterTextChanged(Editable arg0) {
        // TODO Auto-generated method stub

    }
      });

      dataAdapter.setFilterQueryProvider(new FilterQueryProvider() {
             public Cursor runQuery(CharSequence constraint) {
                 return provider.fechDobjectsByName(constraint.toString());
             }
         });      

我在这里找不到任何相关的问题。有谁知道怎么做? 编辑: 对不起,这是我的错。使用Unicode字符搜索显示结果,但区分大小写。我刚才意识到这一点。 那么,无论字母是否为Capital,如何搜索和显示结果?

public Cursor fechDobjectsByName(String inputText) throws SQLException {

      Cursor mCursor = null;
      if (inputText == null  ||  inputText.length () == 0)  {
       mCursor = database.query(DbHelper.TABLE_SONGS, 
         new String[] {DbHelper.COLUMN_ID,
         DbHelper.COLUMN_SONGNAME, DbHelper.COLUMN_SONGARTIST, 
         DbHelper.COLUMN_SONGGENRE}, 
         null, null, null, null, null);

      }
      else {
       mCursor = database.query(true, DbHelper.TABLE_SONGS, 
         new String[] {DbHelper.COLUMN_ID,
         DbHelper.COLUMN_SONGNAME, DbHelper.COLUMN_SONGARTIST, 
         DbHelper.COLUMN_SONGGENRE}, 
         DbHelper.COLUMN_SONGNAME + " like '%" + inputText + "%'", null,
         null, null, null, null);
      }
      if (mCursor != null) {
       mCursor.moveToFirst();
      }
      return mCursor;

0 个答案:

没有答案