package com.yarin.android.MyContacts; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; public class ContactView extends Activity { private TextView mTextViewName; private TextView mTextViewMobile; private TextView mTextViewHome; private TextView mTextViewAddress; private TextView mTextViewEmail; private TextView mTextViewBlog; private Cursor mCursor; private Uri mUri; private static final int REVERT_ID = Menu.FIRST; private static final int DELETE_ID = Menu.FIRST + 1; private static final int EDITOR_ID = Menu.FIRST + 2; private static final int CALL_ID = Menu.FIRST + 3; private static final int SENDSMS_ID = Menu.FIRST + 4; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mUri = getIntent().getData(); this.setContentView(R.layout.viewuser); mTextViewName = (TextView) findViewById(R.id.TextView_Name); mTextViewMobile = (TextView) findViewById(R.id.TextView_Mobile); mTextViewHome = (TextView) findViewById(R.id.TextView_Home); mTextViewAddress = (TextView) findViewById(R.id.TextView_Address); mTextViewEmail = (TextView) findViewById(R.id.TextView_Email); mTextViewBlog = (TextView) findViewById(R.id.TextView_Blog); // ��ò�����ԭʼ��ϵ����Ϣ mCursor = managedQuery(mUri, ContactColumn.PROJECTION, null, null, null); mCursor.moveToFirst(); } protected void onResume() { super.onResume(); if (mCursor != null) { // ��ȡ����ʾ��ϵ����Ϣ mCursor.moveToFirst(); mTextViewName.setText(mCursor.getString(ContactColumn.NAME_COLUMN)); mTextViewMobile.setText(mCursor.getString(ContactColumn.MOBILENUM_COLUMN)); mTextViewHome.setText(mCursor.getString(ContactColumn.HOMENUM_COLUMN)); mTextViewAddress.setText(mCursor.getString(ContactColumn.ADDRESS_COLUMN)); mTextViewEmail.setText(mCursor.getString(ContactColumn.EMAIL_COLUMN)); mTextViewBlog.setText(mCursor.getString(ContactColumn.BLOG_COLUMN)); } else { setTitle("������Ϣ"); } } public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); //��Ӳ˵� menu.add(0, REVERT_ID, 0, R.string.revert).setShortcut('0', 'r').setIcon(R.drawable.listuser); menu.add(0, DELETE_ID, 0, R.string.delete_user).setShortcut('0', 'd').setIcon(R.drawable.remove); menu.add(0, EDITOR_ID, 0, R.string.editor_user).setShortcut('0', 'd').setIcon(R.drawable.edituser); menu.add(0, CALL_ID, 0, R.string.call_user).setShortcut('0', 'd').setIcon(R.drawable.calluser) .setTitle(this.getResources().getString(R.string.call_user)+mTextViewName.getText()); menu.add(0, SENDSMS_ID, 0, R.string.sendsms_user).setShortcut('0', 'd').setIcon(R.drawable.sendsms) .setTitle(this.getResources().getString(R.string.sendsms_user)+mTextViewName.getText()); return true; } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { //ɾ�� case DELETE_ID: deleteContact(); finish(); break; //�����б� case REVERT_ID: setResult(RESULT_CANCELED); finish(); break; case EDITOR_ID: //�༭��ϵ�� startActivity(new Intent(Intent.ACTION_EDIT, mUri)); break; case CALL_ID: //������ϵ�� Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+mTextViewMobile.getText())); startActivity(call); break; case SENDSMS_ID: //�����Ÿ���ϵ�� Intent sms = new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:"+mTextViewMobile.getText())); startActivity(sms); break; } return super.onOptionsItemSelected(item); } // ɾ����ϵ����Ϣ private void deleteContact() { if (mCursor != null) { mCursor.close(); mCursor = null; getContentResolver().delete(mUri, null, null); setResult(RESULT_CANCELED); } } }