package com.doyoo.smsmanager;import com.doyoo.smsmanager.domain.Sms;import android.app.Activity;
import android.content.AsyncQueryHandler;
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CursorAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;public class ConversationActivity extends Activity { private Button bt_new_msg;
private Button bt_all_select;
private Button bt_cancel_selected;
private Button bt_delete; private LinearLayout mEdit;
private ListView mListView; 
private TextView tv_empty; private QueryHandler mQueryHandler; private ConversationAdapter mAdapter; private final static String[] CONVERSATION_PROJECTION = new String[] {
"sms.thread_id as _id", 
"snippet", 
"msg_count", 
"sms.address as address",
"sms.date as date" }; 
private final static int ID_COLUMN_INDEX = 0;
private final static int SNIPPET_COLUMN_INDEX = 1;
private final static int MSG_COUNT_COLUMN_INDEX = 2;
private final static int ADDRESS_COLUMN_INDEX = 3;
private final static int DATE_COLUMN_INDEX = 4; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState); setContentView(R.layout.conversation); initview(); startQuery();
} /**
 * 查询短信的数据
 */ private void startQuery() {
// TODO Auto-generated method stub
Uri uri = Sms.CONVERSATION_URI;
mQueryHandler.startQuery(0, null, uri, null, null, null, "date desc"); } /**
 * 初始化控件
 */ private void initview() {
// TODO Auto-generated method stub
bt_new_msg = (Button) findViewById(R.id.bt_new_msg);
bt_all_select = (Button) findViewById(R.id.bt_all_select);
bt_cancel_selected = (Button) findViewById(R.id.bt_cancel_selected);
bt_delete = (Button) findViewById(R.id.delete); mEdit = (LinearLayout) findViewById(R.id.edit);
mListView = (ListView) findViewById(R.id.listview);
tv_empty = (TextView) findViewById(R.id.empty); mEdit.setVisibility(View.GONE);
bt_delete.setVisibility(View.GONE); // 当listview里面数据为空的时候,显示一个布局;
mListView.setEmptyView(tv_empty); mQueryHandler = new QueryHandler(getContentResolver()); mAdapter = new ConversationAdapter(this, null); mListView.setAdapter(mAdapter); } private final class ConversationAdapter extends CursorAdapter { private LayoutInflater mInflater; public ConversationAdapter(Context context, Cursor c) {
super(context, c); mInflater = LayoutInflater.from(context);
}

@Override
/**
 * 创建listview的item布局
 */
public View newView(Context context, Cursor cursor, ViewGroup parent) { View view = mInflater.inflate(R.layout.conversation_item, parent,false); return view;
} @Override
/**
 * 给item绑定数据
 */
public void bindView(View view, Context context, Cursor cursor) {
// 得到控件
ImageView header = (ImageView)view.findViewById(R.id.header);
TextView tv_name = (TextView)view.findViewById(R.id.tv_name);
// 得到数据
String name = cursor.getString(ADDRESS_COLUMN_INDEX);
int msg_count = cursor.getInt(MSG_COUNT_COLUMN_INDEX);
// 把数据绑定给控件
header.setImageResource(R.drawable.ic_contact_picture);
if (msg_count > 1) {
tv_name.setText(name + "(" + msg_count + ")");
} else {
tv_name.setText(name);
} } } /**
 * 构造异步查询类
 * 
 * @author Administrator
 * 
 */
private final class QueryHandler extends AsyncQueryHandler { public QueryHandler(ContentResolver cr) {
super(cr);
// TODO Auto-generated constructor stub } @Override
protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
// TODO Auto-generated method stub
super.onQueryComplete(token, cookie, cursor);
/* String[] names = cursor.getColumnNames();
while (cursor.moveToNext()) {
for (String name : names) {
Log.i("i",name+ ":"+ cursor.getString(cursor.getColumnIndex(name)));
}
}*/

mAdapter.changeCursor(cursor);//通过Adapter数据发生改变
} }}
数据已经加了 as _id ,仍然会报05-06 19:17:12.272: E/AndroidRuntime(266): java.lang.IllegalArgumentException: column '_id' does not exist
说_id不存在!!!求大神帮帮忙!!!感激不尽!!!