首先显示短信列表,每个列表会显示发送人号码,日期还有短信的内容概要,点击列表之后进入穿查看会话的短信消息,这里为了简单起见就没有把发送消息的功能加进去了。
布局界面:
/Contact_Demo/res/layout/sms_list_view.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="#000000"
- android:orientation="vertical" >
-
- <ListView
- android:id="@+id/sms_list"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:cacheColorHint="#00000000"
- android:choiceMode="singleChoice"
- android:fastScrollEnabled="true"
- android:soundEffectsEnabled="true" />
-
- </LinearLayout>
/Contact_Demo/res/layout/sms_list_item.xml
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:paddingTop="5dip" >
-
- <QuickContactBadge
- android:id="@+id/qcb"
- android:layout_width="75dip"
- android:layout_height="75dip"
- android:layout_marginBottom="3dip"
- android:src="@drawable/touxiang" />
-
- <LinearLayout
- android:id="@+id/ll"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="3dip"
- android:layout_toRightOf="@+id/qcb"
- android:gravity="center_vertical"
- android:orientation="horizontal" >
-
- <TextView
- android:id="@+id/name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="#ffffff" />
-
- <TextView
- android:id="@+id/count"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="5dip"
- android:singleLine="true"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="#ffffff" />
- </LinearLayout>
-
- <TextView
- android:id="@+id/date"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@+id/ll"
- android:layout_marginLeft="3dip"
- android:layout_toRightOf="@+id/qcb"
- android:singleLine="true"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="#ffffff" />
-
- <TextView
- android:id="@+id/content"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@+id/date"
- android:layout_gravity="bottom"
- android:layout_marginLeft="3dip"
- android:layout_toRightOf="@+id/qcb"
- android:singleLine="true"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="#5CACEE" />
-
- </RelativeLayout>
短息实体类:
/Contact_Demo/src/com/suntek/contact/model/SMSBean.java
- package com.suntek.contact.model;
-
- public class SMSBean {
-
- private String thread_id;
- private String msg_count;
- private String msg_snippet;
- private String address;
- private Long date;
- private String read;
-
- public SMSBean(String threadId, String msgCount, String msgSnippet) {
- thread_id = threadId;
- msg_count = msgCount;
- msg_snippet = msgSnippet;
- }
-
- public SMSBean() {
- }
-
- public String getAddress() {
- return address;
- }
-
- public void setAddress(String address) {
- this.address = address;
- }
-
- public Long getDate() {
- return date;
- }
-
- public void setDate(Long date) {
- this.date = date;
- }
-
- public String getRead() {
- return read;
- }
-
- public void setRead(String read) {
- this.read = read;
- }
-
- public String getThread_id() {
- return thread_id;
- }
-
- public void setThread_id(String threadId) {
- thread_id = threadId;
- }
-
- public String getMsg_count() {
- return msg_count;
- }
-
- public void setMsg_count(String msgCount) {
- msg_count = msgCount;
- }
-
- public String getMsg_snippet() {
- return msg_snippet;
- }
-
- public void setMsg_snippet(String msgSnippet) {
- msg_snippet = msgSnippet;
- }
- }
短信列表适配器:/Contact_Demo/src/com/suntek/contact/adapter/SMSAdpter.java
- package com.suntek.contact.adapter;
-
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
-
- import android.content.Context;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.TextView;
-
- import com.suntek.contact.R;
- import com.suntek.contact.model.SMSBean;
-
- public class SMSAdpter extends BaseAdapter {
- private LayoutInflater mInflater;
- private List<SMSBean> smsList;
- private Date date;
- private SimpleDateFormat sdf;
-
- public SMSAdpter(Context context) {
- mInflater = LayoutInflater.from(context);
- this.smsList = new ArrayList<SMSBean>();
- this.date = new Date();
- this.sdf = new SimpleDateFormat("MM/dd HH:mm");
- }
-
- public void assignment(List<SMSBean> smsList) {
- this.smsList = smsList;
- }
-
- public void add(SMSBean bean) {
- smsList.add(bean);
- }
-
- public void remove(int position) {
- smsList.remove(position);
- }
-
- @Override
- public int getCount() {
- return smsList.size();
- }
-
- @Override
- public Object getItem(int position) {
- return smsList.get(position);
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ViewHolder holder = null;
- if (convertView == null) {
- convertView = mInflater.inflate(R.layout.sms_list_item, parent,
- false);
- holder = new ViewHolder();
- holder.name = (TextView) convertView.findViewById(R.id.name);
- holder.count = (TextView) convertView.findViewById(R.id.count);
- holder.date = (TextView) convertView.findViewById(R.id.date);
- holder.content = (TextView) convertView.findViewById(R.id.content);
- } else {
- holder = (ViewHolder) convertView.getTag();
- }
-
- holder.name.setText(smsList.get(position).getAddress());
- holder.count.setText("(" + smsList.get(position).getMsg_count() + ")");
-
- this.date.setTime(smsList.get(position).getDate());
- holder.date.setText(this.sdf.format(date));
-
- holder.content.setText(smsList.get(position).getMsg_snippet());
-
- convertView.setTag(holder);
- return convertView;
- }
-
- public final class ViewHolder {
- public TextView name;
- public TextView count;
- public TextView date;
- public TextView content;
- }
- }
Activity界面
/Contact_Demo/src/com/suntek/contact/SMSListActivity.java
- package com.suntek.contact;
-
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
-
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemClickListener;
- import android.widget.ListView;
-
- import com.suntek.contact.adapter.SMSAdpter;
- import com.suntek.contact.model.SMSBean;
- import com.suntek.contact.util.BaseIntentUtil;
- import com.suntek.contact.util.RexseeSMS;
-
- public class SMSListActivity extends Activity {
-
- private ListView smsListView;
- private SMSAdpter smsAdpter;
- private RexseeSMS rsms;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.sms_list_view);
- smsListView = (ListView) findViewById(R.id.sms_list);
- smsAdpter = new SMSAdpter(SMSListActivity.this);
- rsms = new RexseeSMS(SMSListActivity.this);
- List<SMSBean> list_mmt = rsms.getThreadsNum(rsms.getThreads(0));
-
- smsAdpter.assignment(list_mmt);
-
- smsListView.setAdapter(smsAdpter);
-
- smsListView.setOnItemClickListener(new OnItemClickListener() {
-
- @Override
- public void onItemClick(AdapterView<?> parent, View view,
- int position, long id) {
- Map<String, String> map = new HashMap<String, String>();
- SMSBean sb = (SMSBean) smsAdpter.getItem(position);
- map.put("phoneNumber", sb.getAddress());
- map.put("threadId", sb.getThread_id());
- BaseIntentUtil.intentSysDefault(SMSListActivity.this,
- MessageBoxList.class, map);
- }
- });
- }
- }
查询短信的工具类:
/Contact_Demo/src/com/suntek/contact/util/RexseeSMS.java
- package com.suntek.contact.util;
-
- import java.util.ArrayList;
- import java.util.List;
-
- import android.content.ContentResolver;
- import android.content.Context;
- import android.database.Cursor;
- import android.net.Uri;
-
- import com.suntek.contact.model.SMSBean;
-
- public class RexseeSMS {
-
- public static final String CONTENT_URI_SMS = "content://sms"; // 短信
- public static final String CONTENT_URI_SMS_INBOX = "content://sms/inbox";// 收件箱
- public static final String CONTENT_URI_SMS_SENT = "content://sms/sent"; // 发送
- public static final String CONTENT_URI_SMS_CONVERSATIONS = "content://sms/conversations";
-
- public RexseeSMS(Context mContext) {
- this.mContext = mContext;
-
- }
-
- public static String[] SMS_COLUMNS = new String[] { "_id",
- "thread_id",
- "address",
- "person",
- "date",
- "body",
- "read",
- "type",
-
- "service_center"
- };
- public static String[] THREAD_COLUMNS = new String[] { "thread_id",
- "msg_count", "snippet" };
-
- private Context mContext;
-
- public String getContentUris() {
- String rtn = "{";
- rtn += "\"sms\":\"" + CONTENT_URI_SMS + "\"";
- rtn += ",\"inbox\":\"" + CONTENT_URI_SMS_INBOX + "\"";
- rtn += ",\"sent\":\"" + CONTENT_URI_SMS_SENT + "\"";
- rtn += ",\"conversations\":\"" + CONTENT_URI_SMS_CONVERSATIONS + "\"";
- rtn += "}";
- return rtn;
- }
-
- public String get(int number) {
- return getData(null, number);
- }
-
- public String getUnread(int number) {
- return getData("type=1 AND read=0", number);
- }
-
- public String getRead(int number) {
- return getData("type=1 AND read=1", number);
- }
-
- public String getInbox(int number) {
- return getData("type=1", number);
- }
-
- public String getSent(int number) {
- return getData("type=2", number);
- }
-
- public String getByThread(int thread) {
- return getData("thread_id=" + thread, 0);
- }
-
- public String getData(String selection, int number) {
- Cursor cursor = null;
- ContentResolver contentResolver = mContext.getContentResolver();
- try {
- if (number > 0) {
- cursor = contentResolver.query(Uri.parse(CONTENT_URI_SMS),
- SMS_COLUMNS, selection, null, "date desc limit "
- + number);
- } else {
- cursor = contentResolver.query(Uri.parse(CONTENT_URI_SMS),
- SMS_COLUMNS, selection, null, "date desc");
- }
- if (cursor == null || cursor.getCount() == 0)
- return "[]";
- String rtn = "";
- for (int i = 0; i < cursor.getCount(); i++) {
- cursor.moveToPosition(i);
- if (i > 0)
- rtn += ",";
- rtn += "{";
- rtn += "\"_id\":" + cursor.getString(0);
- rtn += ",\"thread_id\":" + cursor.getString(1);
- rtn += ",\"address\":\"" + cursor.getString(2) + "\"";
- rtn += ",\"person\":\""
- + ((cursor.getString(3) == null) ? "" : cursor
- .getString(3)) + "\"";
- rtn += ",\"date\":" + cursor.getString(4);
- rtn += ",\"body\":\"" + cursor.getString(5) + "\"";
- rtn += ",\"read\":"
- + ((cursor.getInt(6) == 1) ? "true" : "false");
- rtn += ",\"type\":" + cursor.getString(7);
- rtn += ",\"service_center\":" + cursor.getString(8);
- rtn += "}";
- }
- return "[" + rtn + "]";
- } catch (Exception e) {
- return "[]";
- }
- }
-
- public List<SMSBean> getThreads(int number) {
- Cursor cursor = null;
- ContentResolver contentResolver = mContext.getContentResolver();
- List<SMSBean> list = new ArrayList<SMSBean>();
- try {
- if (number > 0) {
- cursor = contentResolver.query(
- Uri.parse(CONTENT_URI_SMS_CONVERSATIONS),
- THREAD_COLUMNS, null, null, "thread_id desc limit "
- + number);
- } else {
- cursor = contentResolver.query(
- Uri.parse(CONTENT_URI_SMS_CONVERSATIONS),
- THREAD_COLUMNS, null, null, "date desc");
- }
- if (cursor == null || cursor.getCount() == 0)
- return list;
- for (int i = 0; i < cursor.getCount(); i++) {
- cursor.moveToPosition(i);
- SMSBean mmt = new SMSBean(cursor.getString(0),
- cursor.getString(1), cursor.getString(2));
- list.add(mmt);
- }
- return list;
- } catch (Exception e) {
- return list;
- }
- }
-
- public List<SMSBean> getThreadsNum(List<SMSBean> ll) {
-
- Cursor cursor = null;
- ContentResolver contentResolver = mContext.getContentResolver();
- List<SMSBean> list = new ArrayList<SMSBean>();
-
- for (SMSBean mmt : ll) {
- cursor = contentResolver.query(Uri.parse(CONTENT_URI_SMS),
- SMS_COLUMNS, "thread_id = " + mmt.getThread_id(), null,
- null);
- if (cursor == null || cursor.getCount() == 0)
- return list;
- cursor.moveToFirst();
- mmt.setAddress(cursor.getString(2));
- mmt.setDate(cursor.getLong(4));
- mmt.setRead(cursor.getString(6));
- list.add(mmt);
- }
-
- return list;
-
-
-
-
- }
- }
上面是短信列表的实现,下面是会话消息的实现
界面布局:
/Contact_Demo/res/layout/message_list_view.xml
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="#000000" >
-
- <ListView
- android:id="@+id/message_list"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:background="#00000000"
- android:cacheColorHint="#00000000"
- android:choiceMode="singleChoice"
- android:soundEffectsEnabled="true" />
-
- </RelativeLayout>
/Contact_Demo/res/layout/list_say_he_item.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="left"
- android:orientation="horizontal"
- android:paddingBottom="10dip"
- android:paddingLeft="5dip"
- android:paddingRight="50dip"
- android:paddingTop="10dip" >
-
- <LinearLayout
- android:id="@+id/layout_bj"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="left"
- android:background="@drawable/incoming"
- android:gravity="center_vertical"
- android:orientation="vertical" >
-
- <com.suntek.contact.view.CustomTextView
- android:id="@+id/messagedetail_row_text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="top|left"
- android:padding="5dip"
- android:textColor="#000000" />
-
- <TextView
- android:id="@+id/messagedetail_row_date"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="right"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="#65879e" />
- </LinearLayout>
-
- </LinearLayout>
/Contact_Demo/res/layout/list_say_me_item.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="right"
- android:orientation="horizontal"
- android:paddingBottom="10dip"
- android:paddingLeft="50dip"
- android:paddingRight="5dip"
- android:paddingTop="10dip" >
-
- <LinearLayout
- android:id="@+id/layout_bj"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="right"
- android:background="@drawable/outgoing"
- android:gravity="center_vertical"
- android:orientation="vertical" >
-
- <com.suntek.contact.view.CustomTextView
- android:id="@+id/messagedetail_row_text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="top|left"
- android:padding="5dip"
- android:textColor="#000000" />
-
- <TextView
- android:id="@+id/messagedetail_row_date"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="right"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="#65879e" />
- </LinearLayout>
-
- </LinearLayout>
短信消息实体类:
/Contact_Demo/src/com/suntek/contact/model/MessageBean.java
- package com.suntek.contact.model;
-
- public class MessageBean {
-
- private String name;
- private String date;
- private String text;
- private int layoutID;
-
- public MessageBean() {
- }
-
- public MessageBean(String name, String date, String text, int layoutID) {
- super();
- this.name = name;
- this.date = date;
- this.text = text;
- this.layoutID = layoutID;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDate() {
- return date;
- }
-
- public void setDate(String date) {
- this.date = date;
- }
-
- public String getText() {
- return text;
- }
-
- public void setText(String text) {
- this.text = text;
- }
-
- public int getLayoutID() {
- return layoutID;
- }
-
- public void setLayoutID(int layoutID) {
- this.layoutID = layoutID;
- }
- }
消息列表适配器:/Contact_Demo/src/com/suntek/contact/adapter/MessageBoxListAdapter.java
- package com.suntek.contact.adapter;
-
- import java.util.List;
-
- import android.app.AlertDialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.graphics.Color;
- import android.text.ClipboardManager;
- import android.view.LayoutInflater;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.View.OnLongClickListener;
- import android.view.View.OnTouchListener;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.LinearLayout;
- import android.widget.TextView;
-
- import com.suntek.contact.R;
- import com.suntek.contact.model.MessageBean;
-
- public class MessageBoxListAdapter extends BaseAdapter {
-
- private List<MessageBean> mbList;
- private Context ctx;
- private LinearLayout layout_father;
- private LayoutInflater vi;
- private LinearLayout layout_child;
- private TextView tvDate;
- private TextView tvText;
-
- public MessageBoxListAdapter(Context context, List<MessageBean> coll) {
- ctx = context;
- vi = (LayoutInflater) ctx
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- this.mbList = coll;
- }
-
- public int getCount() {
- return mbList.size();
- }
-
- public Object getItem(int position) {
- return mbList.get(position);
- }
-
- public long getItemId(int position) {
- return position;
- }
-
- public View getView(int position, View convertView, ViewGroup parent) {
-
- MessageBean mb = mbList.get(position);
-
- int itemLayout = mb.getLayoutID();
- layout_father = new LinearLayout(ctx);
- vi.inflate(itemLayout, layout_father, true);
-
- layout_father.setBackgroundColor(Color.TRANSPARENT);
- layout_child = (LinearLayout) layout_father
- .findViewById(R.id.layout_bj);
-
- tvText = (TextView) layout_father
- .findViewById(R.id.messagedetail_row_text);
- tvText.setText(mb.getText());
-
- tvDate = (TextView) layout_father
- .findViewById(R.id.messagedetail_row_date);
- tvDate.setText(mb.getDate());
-
- addListener(tvText, tvDate, layout_child, mb);
-
- return layout_father;
- }
-
- public void addListener(final TextView tvText, final TextView tvDate,
- LinearLayout layout_bj, final MessageBean mb) {
-
- layout_bj.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
-
- }
- });
-
- layout_bj.setOnLongClickListener(new OnLongClickListener() {
- public boolean onLongClick(View v) {
- tvText.setTextColor(0xffffffff);
- showListDialog(newtan, mb);
- return true;
- }
- });
-
- layout_bj.setOnTouchListener(new OnTouchListener() {
- public boolean onTouch(View v, MotionEvent event) {
- switch (event.getAction()) {
-
- case MotionEvent.ACTION_DOWN:
-
- case MotionEvent.ACTION_MOVE:
- tvText.setTextColor(0xffffffff);
- break;
-
- default:
- tvText.setTextColor(Color.BLACK);
- break;
- }
- return false;
- }
- });
- }
-
- private String[] newtan = new String[] { "转发", "复制文本内容", "删除", "查询信息详情" };
-
- private void showListDialog(final String[] arg, final MessageBean mb) {
- new AlertDialog.Builder(ctx).setTitle("信息选项")
- .setItems(arg, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) {
- switch (which) {
-
- case 0:
- break;
-
- case 1:
- ClipboardManager cmb = (ClipboardManager) ctx
- .getSystemService(ctx.CLIPBOARD_SERVICE);
- cmb.setText(mb.getText());
- break;
- case 2:
-
- break;
- case 3:
- break;
- }
- ;
- }
- }).show();
- }
- }
/Contact_Demo/src/com/suntek/contact/MessageBoxList.java
- package com.suntek.contact;
-
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
-
- import android.app.Activity;
- import android.content.AsyncQueryHandler;
- import android.content.ContentResolver;
- import android.database.Cursor;
- import android.net.Uri;
- import android.os.Bundle;
- import android.widget.ListView;
- import android.widget.Toast;
-
- import com.suntek.contact.adapter.MessageBoxListAdapter;
- import com.suntek.contact.model.MessageBean;
-
- public class MessageBoxList extends Activity {
- private ListView talkView;
- private List<MessageBean> messages = null;
- private AsyncQueryHandler asyncQuery;
- private String address;
- private SimpleDateFormat sdf;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.message_list_view);
- sdf = new SimpleDateFormat("MM-dd HH:mm");
- String thread = getIntent().getStringExtra("threadId");
- init(thread);
- }
-
- private void init(String thread) {
- asyncQuery = new MessageAsynQueryHandler(getContentResolver());
- talkView = (ListView) findViewById(R.id.message_list);
- messages = new ArrayList<MessageBean>();
-
- Uri uri = Uri.parse("content://sms");
- String[] projection = new String[] { "date", "address", "person",
- "body", "type" };
- asyncQuery.startQuery(0, null, uri, projection,
- "thread_id = " + thread, null, "date asc");
- }
-
-
- private class MessageAsynQueryHandler extends AsyncQueryHandler {
-
- public MessageAsynQueryHandler(ContentResolver cr) {
- super(cr);
- }
-
- @Override
- protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
- if (cursor != null && cursor.getCount() > 0) {
- cursor.moveToFirst();
- for (int i = 0; i < cursor.getCount(); i++) {
- cursor.moveToPosition(i);
- String date = sdf.format(new Date(cursor.getLong(cursor
- .getColumnIndex("date"))));
- if (cursor.getInt(cursor.getColumnIndex("type")) == 1) {
- MessageBean d = new MessageBean(
- cursor.getString(cursor
- .getColumnIndex("address")),
- date,
- cursor.getString(cursor.getColumnIndex("body")),
- R.layout.list_say_he_item);
- messages.add(d);
- } else {
- MessageBean d = new MessageBean(
- cursor.getString(cursor
- .getColumnIndex("address")),
- date,
- cursor.getString(cursor.getColumnIndex("body")),
- R.layout.list_say_me_item);
- messages.add(d);
- }
- }
- if (messages.size() > 0) {
- talkView.setAdapter(new MessageBoxListAdapter(
- MessageBoxList.this, messages));
- talkView.setDivider(null);
- talkView.setSelection(messages.size());
- } else {
- Toast.makeText(MessageBoxList.this, "没有短信进行操作",
- Toast.LENGTH_SHORT).show();
- }
- }
- super.onQueryComplete(token, cookie, cursor);
- }
- }
- }