1

我正在尝试开发一个短信应用程序。我已经成功地从列表视图中的收件箱中检索了所有短信,但现在我被困在一个点上。我想要这样,当用户单击任何线程时,它应该在详细视图中打开该线程。我怎样才能做到这一点?我正在粘贴关于我到底想要什么的图片以及我为检索短信列表而编写的代码。

public class Inbox extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_inbox);
    ListView list = (ListView) findViewById(R.id.list);
    List<String> msgList = getSMS();
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, msgList);
    list.setAdapter(adapter);
}

public List<String> getSMS() {
    List<String> sms = new ArrayList<String>();
    Uri uriSMSURI = Uri.parse("content://sms/inbox");
    Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,null);
    while (cur.moveToNext()) {
        String address = cur.getString(cur.getColumnIndex("address"));
        String body = cur.getString(cur.getColumnIndexOrThrow("body"));
        sms.add("Number: " + address + " .Message: " + body);
    }
    return sms;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_inbox, menu);
    return true;
}
}

在此处输入图像描述

4

1 回答 1

0

以下是您可以采取的措施来实现这一目标。

当用户单击 ListView 中的任何消息时,您可以检索与该消息对应的数字并将其存储在变量中。

接下来,您将意图传递给应该显示详细视图的 Activity,以及在最后一步中检索到的数字。在这里,您使用光标从数据库中获取所有消息,但当且仅当数字与上一步中收到的数字匹配时才显示它们。

于 2012-09-06T17:01:44.913 回答