如何从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;
}
答案 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()
进行不区分大小写的比较。
希望它有所帮助。