网上看了小例子、

现在自己整理一下子:

现在想实现一个

Activity1 调用 Activity2 然后 Activity2返回数据给Activity1

流程:

1、Activity1 启动Activity2 设置返回码和重写onActivityResult

2、Activity2 完成操作后 返加activity 并传入值

3、Activity1 onActivityResult 里就可以得到Activity2传进来的值。

例子:选择电话号码并返回例子。

Activity1

layout layout_activity_return_test.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:gravity="center"    android:orientation="vertical" >    <TextView        android:id="@+id/showTextViewId"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="onclick"        android:text="返回数据" /></LinearLayout>

Activity IntentReturnTest.java

package com.main;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class IntentReturnTest extends Activity {private TextView text;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.layout_activity_return_test);text = (TextView) findViewById(R.id.showTextViewId);}public void onclick(View view){Intent intent = new Intent();        intent.setClass(IntentReturnTest.this, GetContentResolverActivity.class);        startActivityForResult(intent, 1);//返回时提供识别 }protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);switch(requestCode){case 1:text.setText("---|"+data.getStringExtra("msg")+"---|");break;}}}

Activity2

layout layout_get_content_resolver.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" >    <ListView        android:id="@+id/showContentListView"        android:layout_height="wrap_content"        android:layout_width="fill_parent" >    </ListView></LinearLayout>

Activity2 类

package com.main;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Intent;import android.database.Cursor;import android.os.Bundle;import android.provider.Contacts;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;public class GetContentResolverActivity extends Activity {private List<String> items;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.layout_get_content_resolver);ListView listView = (ListView) findViewById(R.id.showContentListView);items = new ArrayList<String>();Cursor cursor = getContentResolver().query(Contacts.Phones.CONTENT_URI,null,null,null,null);while(cursor.moveToNext()){String name = cursor.getString(cursor.getColumnIndex(Contacts.Phones.NAME));String number = cursor.getString(cursor.getColumnIndex(Contacts.Phones.NUMBER));items.add(name+":"+number);}cursor.close();ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 ,items);listView.setAdapter(adapter);listView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {Log.i("test", items.get(position));Intent intent = getIntent();intent.putExtra("msg", items.get(position));GetContentResolverActivity.this.setResult(RESULT_OK,intent);GetContentResolverActivity.this.finish();}});}}

添加权限

    <!-- 读取联系人权限 -->    <uses-permission android:name="android.permission.READ_CONTACTS" />

注册Activity

    <application        android:icon="@drawable/image_button"        android:label="@string/app_name" >        <activity            android:label="@string/app_name"            android:name=".IntentReturnTest" >            <intent-filter >                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity android:name=".GetContentResolverActivity" >        </activity>    </application>

好ok 完成 。

附件 apk

更多相关文章

  1. Android入门:用HttpClient模拟HTTP的GET和POST请求
  2. Android(安卓)ActionBar返回父级Activity
  3. 支持HTML5 SqlLite的AndroidApp
  4. Android(安卓)对返回按键点击次数的监听
  5. android 网络通信(三):Retrofit 2.0 的使用
  6. 调用startactivityforresult后,onactivityresult立刻返回RESULT_C
  7. Android权限探究——获取正在运行的应用/进程列表
  8. Arcgis Android(安卓)定位
  9. Android(安卓)sqlite存储日期类型

随机推荐

  1. Android(安卓)NDK学习(2)Windows下NDK开发
  2. android ellipsize的使用
  3. 【Android】xml文件里面出现unbound pref
  4. Android EditText身份证等类型
  5. Android JNI简单实例(android 调用C/C++代
  6. android 开机启动桌面Activity(Launcher )
  7. android:shape的使用
  8. Android(安卓)SQLite数据库增删改查操作
  9. 《Android面试宝典》学习笔记(第二章:布局)
  10. android:paddingLeft 和 layout_marginLe