startActivityForResult 的用法

来源:互联网 发布:世界第一位程序员 编辑:程序博客网 时间:2024/06/01 13:45
[java] view plaincopyprint?
  1. //显示的调用Activity  
  2. Intent intent = new Intent(MyContactsActivity.this,AddUserActivity.class);  
  3. //0代表请求跳转到添加页面,跳转回到之后onActivityResult方法中的requestCode为0........可以理解0为一个操作类型。  
  4. startActivityForResult(intent, 0);  




在AddUserActivity.class中:

[java] view plaincopyprint?
  1. if(flag!=-1){  
  2.     Toast.makeText(AddUserActivity.this"插入成功!", Toast.LENGTH_LONG).show();  
  3.     //resoultCode为1代表增加成功,返回到主页面。虽然是跳转回去了,但是当前页面要注销掉,主页面用方法onActivityResult接收;  
  4.     setResult(1);  
  5.     finish();  
  6. }else{  
  7.     Toast.makeText(AddUserActivity.this"插入失败!", Toast.LENGTH_LONG).show();  
  8.     //resoultCode为1代表增加失败,返回到主页面。  
  9.     setResult(2);  
  10.     finish();  
  11. }  





返回主Activity之后 用onActivityResult对返回来的数据进行操作;
[java] view plaincopyprint?
  1. /** 
  2.  * 这个方法是自动调用的,得到startActivityForResult()方法请求的activity返回的值 。 
  3.  * resultCode是目标activity用setResult(1)反回的值。requestCode就是刚刚传递过去的参数。 
  4.  
  5.  */  
  6. @Override  
  7. protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  8.     //如果requestCode==0说明这个activity是从上一个acitvity跳转回来的。  
  9.     if(requestCode==0){  
  10.         if(resultCode==1){  
  11.             //增加成功 进行刷新  
  12.             updateUserList(null,null,null,null,null,null);  
  13.         }else if(resultCode==2){  
  14.             //增加用户失败,不刷新  
  15.         }  
  16.     }  
  17.     super.onActivityResult(requestCode, resultCode, data);  

0 0
原创粉丝点击