查询短信文本正文并在列表视图中显示

时间:2014-06-25 15:48:41

标签: android android-listview simplecursoradapter searchview

我想根据在搜索视图中输入的字符串过滤我的应用的收件箱视图。 因此,如果用户输入“如何”,则过滤器应该获得包含“如何”的所有文本 这是我写的代码:

int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
    AutoCompleteTextView  textView = (AutoCompleteTextView) searchView.findViewById(id);
    textView.setTextColor(Color.WHITE);

    final Uri inboxURI = Uri.parse("content://sms/");
    final String[] reqCols = new String[] {"_id","address","body" };

    Cursor c = cr.query(inboxURI, reqCols, null, null, null);
    final SimpleCursorAdapter sadapter = new SimpleCursorAdapter(this, R.layout.list_row, c, new String[] {"address", "body" }, new int[] {R.id.phone_number,R.id.text_msg});

    textView.setAdapter(sadapter);

    sadapter.setFilterQueryProvider(new FilterQueryProvider() {
        public Cursor runQuery(CharSequence constraint) {                           
            return getContentResolver().query(inboxURI, reqCols, "body" + " LIKE '" + constraint + "%'", null, null);
        }
    });

但是如果我输入“How”,过滤器只会返回以“How”开头的文本。我希望包含此字符串的所有文本都位于其中的任何位置。 需要有关如何创建查询以获得结果的帮助。

1 个答案:

答案 0 :(得分:0)

您的查询like constraint% ...将其更改为like %constraint%(请注意其他%