2014-09-23 39 views
0

如何選擇按關鍵字從身體到列表視圖的短信?按關鍵字選擇短信到列表視圖

當前進度:短信顯示在列表視圖中,但顯示所有短信。我只想按關鍵字只顯示選定的短信。這是我的代碼。

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

你會得到任何錯誤? – 2014-09-23 04:49:57

+0

什麼都沒有,短信只顯示全部到列表視圖 – Ashadi 2014-09-23 04:58:40

+0

@Ashadi是這個工作還是不行? – 2014-09-23 05:42:23

回答

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()進行不區分大小寫的比較。

希望它有幫助。

+0

謝謝@Mystic這是工作...抱歉,我是新手在這裏不能投票 – Ashadi 2014-09-23 05:02:42

+0

:)歡迎..很高興它幫助。沒關係 :) – 2014-09-23 05:03:28