DemoActivity.java:
package cn.itcast.getdata;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.EditText;public class DemoActivity extends Activity {EditText et, et2;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);et = (EditText) this.findViewById(R.id.et_contact1);et2 = (EditText) this.findViewById(R.id.et_contact2);}public void click(View view) {Intent intent = new Intent(this, ContactActivity.class);// startActivity(intent); 1 为请求码startActivityForResult(intent, 1);}public void click2(View view) {Intent intent = new Intent(this, ContactActivity.class);// startActivity(intent); 2 为请求码startActivityForResult(intent, 2);}/** * 当被激活的activity 使用完毕 销毁的时候 就会执行onActivityresult的方法 */@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubSystem.out.println("结果码为" + resultCode);super.onActivityResult(requestCode, resultCode, data);if (data != null) {String name = data.getStringExtra("name");if (requestCode == 1) {et.setText(name);} else if (requestCode == 2) {et2.setText(name);}}}}
ContactActivity.java:
package cn.itcast.getdata;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Intent;import android.database.Cursor;import android.graphics.Color;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;public class ContactActivity extends Activity {ListView lv;List<String> names;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.contact);lv = (ListView) this.findViewById(R.id.lv);names = getContacts();lv.setAdapter(new MyAdapter());lv.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {TextView tv = (TextView) view;String name = tv.getText().toString();Intent data = new Intent();data.putExtra("name", name);// 3 为结果码setResult(3, data);// 可以把当前的activity给结束掉finish();}});}private class MyAdapter extends BaseAdapter {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn names.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {TextView tv = new TextView(ContactActivity.this);tv.setTextSize(28);tv.setTextColor(Color.RED);tv.setText(names.get(position));return tv;}}private List<String> getContacts() {String rawbase = "content://com.android.contacts/raw_contacts";String database = "content://com.android.contacts/data";Cursor cursor = this.getContentResolver().query(Uri.parse(rawbase),null, null, null, null);List<String> names = new ArrayList<String>();while (cursor.moveToNext()) {String id = cursor.getString(cursor.getColumnIndex("_id"));System.out.println("id =" + id);Cursor datacursor = this.getContentResolver().query(Uri.parse(database), null, "raw_contact_id=?",new String[] { id }, null);while (datacursor.moveToNext()) {String type = datacursor.getString(datacursor.getColumnIndex("mimetype"));if ("vnd.android.cursor.item/name".equals(type)) {String data1 = datacursor.getString(datacursor.getColumnIndex("data1"));names.add(data1);}}datacursor.close();}cursor.close();return names;}}
contact.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:orientation="vertical" >    <ListView        android:id="@+id/lv"        android:layout_width="match_parent"        android:layout_height="match_parent" >    </ListView></LinearLayout>
main.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="fill_parent"    android:orientation="vertical" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="选择联系人" />    <EditText        android:id="@+id/et_contact1"        android:layout_width="fill_parent"        android:layout_height="wrap_content" />    <Button        android:layout_width="fill_parent"        android:layout_height="wrap_content"         android:onClick="click"        android:text="选择第一个联系人"        >    </Button>        <EditText        android:id="@+id/et_contact2"        android:layout_width="fill_parent"        android:layout_height="wrap_content" />    <Button        android:layout_width="fill_parent"        android:layout_height="wrap_content"         android:onClick="click2"        android:text="选择第二个联系人"        >    </Button></LinearLayout>
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="cn.itcast.getdata"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="8" />    <uses-permission android:name="android.permission.READ_CONTACTS" />    <uses-permission android:name="android.permission.WRITE_CONTACTS" />    <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name" >        <activity            android:label="@string/app_name"            android:name=".DemoActivity" >            <intent-filter >                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity             android:label="选择联系人"            android:name=".ContactActivity"            ></activity>    </application></manifest>





更多相关文章

  1. android调用系统添加联系人界面
  2. Android中Dialog对话框使用总结及demo
  3. Android模仿jquery异步请求
  4. android与pc的socket通信JAVA
  5. 【Android】Http请求
  6. android service
  7. android滑轮选择控件——whell
  8. Android(安卓)O 为应用添加默认权限,进入应用时不需要请求 Permis
  9. Android(安卓)Asynchronous Http Client

随机推荐

  1. android介绍
  2. Android程序测试(2)——Activity测试
  3. android EditText彻底搞定输入框隐藏/显
  4. android:exported 属性详解
  5. Android应用开发入门五问
  6. Android常用控件总结
  7. android2.3 api demo 学习系列(1)--apidemo
  8. Win8/Android双系统 华硕Win8平板曝光
  9. Android(安卓)显示系统键盘搜索按键,实现
  10. Android(安卓)Broadcast receiver使用入