Android--activity获取返回值

写了一个DEMO:短信选择联系人的数据传递

主activity:

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. import android.os.Bundle;  
  2. import android.app.Activity;  
  3. import android.content.Intent;  
  4. import android.view.Menu;  
  5. import android.view.View;  
  6. import android.widget.EditText;  
  7.   
  8. public class MainActivity extends Activity {  
  9.   
  10.     @Override  
  11.     protected void onCreate(Bundle savedInstanceState) {  
  12.         super.onCreate(savedInstanceState);  
  13.         setContentView(R.layout.activity_main);  
  14.           
  15.     }  
  16.   
  17.     public void click(View c){  
  18.         //跳转至选择联系人Activity  
  19.         Intent intent = new Intent(this, ContactActivity.class);  
  20. //      startActivity(intent);  
  21.         //用这个api启动的Activity,在销毁时,系统会回调onActivityResult  
  22.         startActivityForResult(intent, 10);  
  23.     }  
  24.       
  25.       
  26.     public void click2(View v){  
  27.         //跳转至选择快捷回复的Activity  
  28.         Intent intent = new Intent(this, CallbackActivity.class);  
  29.         startActivityForResult(intent, 20);  
  30.     }  
  31.     //如果有Activity在销毁时返回了数据,那么就会调用此方法来接收数据  
  32.     //requestCode:用来区分数据来自于哪一个Activity  
  33.     //resultCode:用来区分返回的数据是什么类型的  
  34.     @Override  
  35.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  36.         // TODO Auto-generated method stub  
  37.         super.onActivityResult(requestCode, resultCode, data);  
  38.           
  39.         String name = data.getStringExtra("name");  
  40.         if(requestCode == 10){  
  41.             EditText et = (EditText)findViewById(R.id.et);  
  42.             et.setText(name);  
  43.         }  
  44.         else if(requestCode == 20){  
  45.             EditText et_content = (EditText)findViewById(R.id.et_content);  
  46.             et_content.setText(name);  
  47.         }  
  48.     }  
  49.       
  50.   
  51. }  

联系人activity:

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. import android.app.Activity;  
  2. import android.content.Intent;  
  3. import android.os.Bundle;  
  4. import android.view.View;  
  5. import android.widget.AdapterView;  
  6. import android.widget.AdapterView.OnItemClickListener;  
  7. import android.widget.ArrayAdapter;  
  8. import android.widget.ListView;  
  9.   
  10. public class ContactActivity extends Activity {  
  11.   
  12.     @Override  
  13.     protected void onCreate(Bundle savedInstanceState) {  
  14.         // TODO Auto-generated method stub  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.activity_contact);  
  17.           
  18.         ListView lv = (ListView) findViewById(R.id.lv);  
  19.           
  20.         final String[] objects = new String[]{  
  21.                 "小志",  
  22.                 "逼哥",  
  23.                 "世界级XXX",  
  24.                 "国服第一"  
  25.         };  
  26.           
  27.         lv.setAdapter(new ArrayAdapter<String>(this, R.layout.item_listview, R.id.tv, objects));  
  28.       
  29.         //给listview设置条目的点击侦听  
  30.         lv.setOnItemClickListener(new OnItemClickListener() {  
  31.   
  32.             //当某个条目被点击时,此方法调用  
  33.             @Override  
  34.             public void onItemClick(AdapterView<?> parent, View view,  
  35.                     int position, long id) {  
  36.                   
  37.                 //Activity返回时传递数据,也是通过意图对象  
  38.                 Intent data = new Intent();  
  39.                 //把要传递的数据封装至意图对象中  
  40.                 data.putExtra("name", objects[position]);  
  41.                   
  42.                 //当前Activity销毁时,data这个意图就会传递给启动当前Activity的那个Activity  
  43.                 setResult(1, data);  
  44.                   
  45.                 //销毁当前Activity  
  46.                 finish();  
  47.             }  
  48.         });  
  49.     }  
  50.       
  51.     @Override  
  52.     public void onBackPressed() {  
  53.         // TODO Auto-generated method stub  
  54.         super.onBackPressed();  
  55.     }  
  56. }  


快捷回复activity:

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. import android.app.Activity;  
  2. import android.content.Intent;  
  3. import android.os.Bundle;  
  4. import android.view.View;  
  5. import android.widget.AdapterView;  
  6. import android.widget.AdapterView.OnItemClickListener;  
  7. import android.widget.ArrayAdapter;  
  8. import android.widget.ListView;  
  9.   
  10. public class CallbackActivity extends Activity {  
  11.   
  12.     @Override  
  13.     protected void onCreate(Bundle savedInstanceState) {  
  14.         // TODO Auto-generated method stub  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.activity_contact);  
  17.           
  18.         ListView lv = (ListView) findViewById(R.id.lv);  
  19.           
  20.         final String[] objects = new String[]{  
  21.                 "免谈,没戏,滚犊子",  
  22.                 "媳妇我错了,求原谅",  
  23.                 "老子才是一家之主"  
  24.         };  
  25.         lv.setAdapter(new ArrayAdapter<String>(this, R.layout.item_listview, R.id.tv, objects));  
  26.           
  27.         lv.setOnItemClickListener(new OnItemClickListener() {  
  28.   
  29.             @Override  
  30.             public void onItemClick(AdapterView<?> parent, View view,  
  31.                     int position, long id) {  
  32.                 Intent data = new Intent();  
  33.                 data.putExtra("name", objects[position]);  
  34.                   
  35.                 setResult(2, data);  
  36.                 finish();  
  37.                   
  38.             }  
  39.         });  
  40.     }  
  41. }  


[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:paddingBottom="@dimen/activity_vertical_margin"  
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"  
  7.     android:paddingRight="@dimen/activity_horizontal_margin"  
  8.     android:paddingTop="@dimen/activity_vertical_margin"  
  9.     tools:context=".MainActivity"   
  10.     android:orientation="vertical"  
  11.     >  
  12.   
  13.     <LinearLayout   
  14.         android:layout_width="match_parent"  
  15.         android:layout_height="wrap_content"  
  16.         android:orientation="horizontal"  
  17.         >  
  18.     <EditText  
  19.         android:id="@+id/et"  
  20.         android:layout_weight="1"  
  21.         android:layout_width="0dp"  
  22.         android:layout_height="wrap_content"  
  23.         android:hint="请输入联系人"  
  24.         />  
  25.     <Button   
  26.         android:layout_weight="0"  
  27.         android:layout_width="wrap_content"  
  28.         android:layout_height="wrap_content"  
  29.         android:text="+"  
  30.         android:onClick="click"  
  31.         />  
  32.     </LinearLayout>  
  33.     <EditText  
  34.         android:id="@+id/et_content"  
  35.         android:layout_weight="1"  
  36.         android:layout_width="match_parent"  
  37.         android:layout_height="0dp"  
  38.         android:hint="请输入短信内容"  
  39.         android:gravity="top"  
  40.         />  
  41.     <Button   
  42.         android:layout_width="wrap_content"  
  43.         android:layout_height="wrap_content"  
  44.         android:text="快捷回复"  
  45.         android:onClick="click2"  
  46.         />  
  47.     <Button   
  48.         android:layout_width="wrap_content"  
  49.         android:layout_height="wrap_content"  
  50.         android:text="发送短信"  
  51.         />  
  52. </LinearLayout>  


[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:orientation="vertical" >  
  6.       
  7.   
  8.     <ListView   
  9.         android:id="@+id/lv"  
  10.         android:layout_width="match_parent"  
  11.         android:layout_height="match_parent"  
  12.         ></ListView>  
  13. </LinearLayout>  


[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:orientation="vertical" >  
  6.       
  7.   
  8.     <TextView   
  9.         android:id="@+id/tv"  
  10.         android:layout_width="wrap_content"  
  11.         android:layout_height="wrap_content"  
  12.         android:textSize="20sp"  
  13.         />  
  14. </LinearLayout>  



转载:http://blog.csdn.net/chaoyu168/article/details/51011711

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值