onActivityResult传值的使用

canca11年前 (2013-11-02)Android284

有时候在群里加入的新人总会喜欢问一些过去的问题  有时候不想回答 是因为回答的次数多了

不回答又打击人的积极性  谁让自己接触的早呢  为了省劲还是把简单的东西作为指导篇吧

 

多个activity之间的传值 其实就是onActivityResult,然后别忘了还有一个action的问题 就是在主xml中添加自己的action以便于识别,最后次activity别忘了finansh。

Java代码  收藏代码
  1. public class Wizard extends Activity {  
  2.   
  3.     private TextView step1result, step2result, step3result;  
  4.   
  5.     public static final String INTENT_STEP1 = "com.novoda.STEP1";  
  6.     public static final String INTENT_STEP2 = "com.novoda.STEP2";  
  7.     public static final String INTENT_STEP3 = "com.novoda.STEP3";  
  8.   
  9.     private static final int STEP1 = 1;  
  10.     private static final int STEP2 = 2;  
  11.     private static final int STEP3 = 3;  
  12.   
  13.     @Override  
  14.     public void onCreate(Bundle savedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.wizard);  
  17.           
  18.         this.step1result = (TextView)findViewById(R.id.step1result);  
  19.         this.step2result = (TextView)findViewById(R.id.step2result);  
  20.         this.step3result = (TextView)findViewById(R.id.step3result);    
  21.           
  22.         startActivityForResult(new Intent(Wizard.INTENT_STEP1), STEP1);          
  23.     }  
  24.       
  25.       
  26.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  27.         switch (requestCode) {  
  28.             case STEP1:  
  29.                 this.step1result.setText(data.getStringExtra("STEP1RESULT"));  
  30.                 startActivityForResult(new Intent(Wizard.INTENT_STEP2), STEP2);      
  31.                 break;  
  32.             case STEP2:  
  33.                 this.step2result.setText(data.getStringExtra("STEP2RESULT"));  
  34.                 startActivityForResult(new Intent(Wizard.INTENT_STEP3), STEP3);      
  35.                 break;  
  36.             case STEP3:  
  37.                 this.step3result.setText(data.getStringExtra("STEP3RESULT"));  
  38.                 break;  
  39.         }  
  40.     }  
  41. }  

 

Java代码  收藏代码
  1. public class Step1 extends Activity {  
  2.   
  3.      @Override  
  4.     public void onCreate(Bundle savedInstanceState) {  
  5.         super.onCreate(savedInstanceState);  
  6.         setContentView(R.layout.step1);  
  7.   
  8.         Button nextStep = (Button)findViewById(R.id.goto2);  
  9.         nextStep.setOnClickListener(new View.OnClickListener() {  
  10.             public void onClick(View v) {  
  11.                 Intent it = new Intent();  
  12.                 it.putExtra("STEP1RESULT", ((EditText)findViewById(R.id.step1value)).getText()  
  13.                         .toString());  
  14.                 setResult(Activity.RESULT_OK, it);  
  15.                 finish();  
  16.             }  
  17.         });  
  18.     }  
  19. }  
  20.  

    后面的step2 step3都是一样的了

    然后还有主xml

    Java代码    收藏代码
    1. "@drawable/icon" android:label="@string/app_name">  
    2.         ".Wizard" android:label="@string/app_name">  
    3.               
    4.                 "android.intent.action.MAIN" />  
    5.                 "android.intent.category.LAUNCHER" />  
    6.               
    7.           
    8.   
    9.         ".Step1" android:label="Step1">  
    10.               
    11.                 "com.novoda.STEP1" />  
    12.                 "android.intent.category.DEFAULT" />  
    13.               
    14.           
    15.   
    16.         ".Step2" android:label="Step2">  
    17.               
    18.                 "com.novoda.STEP2" />  
    19.                 "android.intent.category.DEFAULT" />  
    20.               
    21.           
    22.   
    23.         ".Step3" android:label="Step3">  
    24.               
    25.                 "com.novoda.STEP3" />  
    26.                 "android.intent.category.DEFAULT" />  
    27.               
    28.           
    29.       
    30.     "7" />  
    31.    

     

相关文章

Android的onCreateOptionsMenu()创建菜单Menu详解

Android一共有三种形式的菜单:            1.选项菜单(optinosM...

ListView中getView的原理+如何在ListView中放置多个item

ListView中getView的原理+如何在ListView中放置多个item

ListView 和 Adapter 的基础工作原理:ListView 针对List中每个item,要求 adapter “给我一个视图” (getView)。一个新的视图被返回并显示如果我们有上亿个...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。