短信对话

时间:2012-08-14 09:36:36

标签: android listview

我正在开发一个SMS应用程序。我能够发送和接收短信。

我有一个名为“收件箱”的标签。点击它时,我会使用URI content://mms-sms/conversations/显示所有会话。

点击任何对话时,我想显示该人与我之间的所有短信对话。

我从URI content://sms/inbox获取了该人的所有邮件, 和来自URI content://sms/sent的那个人的消息。

现在,如何在自定义列表视图中显示这些消息,以便我的消息前缀为“me”,而其他人的消息前缀为“< name / number>”并根据日期和时间安排?

1 个答案:

答案 0 :(得分:0)

我正在尝试做类似的事情。你解决了吗?我想我应该手动完成! 我认为使用电话号码作为登录(并非所有公司都将号码存储在手机上),然后将消息号与记录的号码进行比较。 在布局上你可以有这样的东西:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:weightSum="1.0" >

    <TextView
        android:id="@+id/txtMessageDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="5dip"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="10dip"
        android:layout_marginTop="10dip"
        android:maxWidth="250dip"/>

    <TextView
        android:id="@+id/txtMessageRight"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/righttext"
        android:layout_marginLeft="16dp"
        android:maxWidth="250dip" />

    <TextView
        android:id="@+id/txtMessageLeft"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="37dp"
        android:layout_toRightOf="@+id/lefttext"
        android:maxWidth="250dip"/>

</RelativeLayout>

根据您的电话号码或另一侧电话号码,您可以知道您的电话号码是否可以告知您的号码,因此在代码中您可以使布局膨胀,并使用“if”您可以写下您的姓名或联系人姓名。 类似的东西:

if(o.getOriginatingAddress().equals(MainActivity.loggedNumber))                
    tvOutMessage.setText("me: " + o.getMessageBody());
else
    tvInMessage.setText("contact:" + o.getMessageBody());

我不知道这是否是最佳解决方案,但希望它有所帮助。