按关键字选择短信到Listview

时间:2014-09-23 04:46:27

标签: android listview android-listview

如何从body到listview按关键字选择短信?

当前进度:短信显示在列表视图中,但显示所有短信。我只想按关键字显示选定的短信。这是我的代码。

public List<String> getSMS() {
    List<String> list = new ArrayList<String>();
    Uri uriSMSURI = Uri.parse("content://sms/inbox");
    Cursor cursor = null;
    try {
        cursor = getContentResolver().query(uriSMSURI, null, null, null,
                null);
    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        for (boolean hasData = cursor.moveToFirst(); hasData; hasData = cursor
                .moveToNext()) {
            String body = cursor.getString(cursor.getColumnIndex("body"));
            list.add(body);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return list;
}

1 个答案:

答案 0 :(得分:1)

如果您将正文内容添加到listview,那么为什么不在添加之前与关键字进行比较?

String keyword = "hello"
try {
    for (boolean hasData = cursor.moveToFirst(); hasData; hasData = cursor
            .moveToNext()) {
        String body = cursor.getString(cursor.getColumnIndex("body"));
        if(body.toLowerCase().contains(keywoed.toLowerCase()))
            list.add(body);
    }
} catch (Exception e) {
    e.printStackTrace();
}

我使用toLowerCase()进行不区分大小写的比较。

希望它有所帮助。