android軟件開發(fā)打開新活動并返回結(jié)果_第1頁
android軟件開發(fā)打開新活動并返回結(jié)果_第2頁
android軟件開發(fā)打開新活動并返回結(jié)果_第3頁
android軟件開發(fā)打開新活動并返回結(jié)果_第4頁
android軟件開發(fā)打開新活動并返回結(jié)果_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、本文由麥可網(wǎng)收集整理,轉(zhuǎn)載請注明出處。android 打開新活動并返回結(jié)果假設(shè)有兩個Activity,主界面A,功能界面B,由A啟動B,并傳數(shù)據(jù)給B,B在經(jīng)過處理后把數(shù)據(jù)傳回給A。先是A傳B:Java代碼1 viewplaincopytoclipboardprint?2 Bundlebundle=newBundle();3 bundle.putString("Dir","/sdcard");4 Intentintent=newIntent();5 intent.putExtras(bundle);6 intent.setClass(A.this,B.cl

2、ass);7 A.this.startActivityForResult(intent,0);8 /這里的0代表requestCode,就是用來做個標記(要求是大于等于0的整數(shù));然后就是B接收再傳回:Java代碼9 viewplaincopytoclipboardprint?10 Intentit=newIntent();11 Bundlebundle=it.getExtras();12 StringmString=bundle.getString("Dir");1314 mString=mString+"/"15 bundle.putString(&

3、quot;Dir",mString);16 B.this.setResult(0,it);/0與前面A里的0對應(yīng)17 finish();A最后再接收B回傳的結(jié)果:Java代碼18 viewplaincopytoclipboardprint?19 protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata)20 21 /B返回時觸發(fā)2223 最后以一個SDK開發(fā)大全上面的例子來加深理解先是A傳入B,并且把接收B傳回結(jié)果的接收器寫在A中Java代碼24 viewplaincopytoclipboardprin

4、t?25 packagecom.my;2627 /*import相關(guān)class*/28 importandroid.app.Activity;29 importandroid.content.Intent;30 importandroid.os.Bundle;31 importandroid.view.View;32 importandroid.widget.Button;33 importandroid.widget.EditText;34 importandroid.widget.RadioButton;3536 publicclassAextendsActivity37 38 priva

5、teEditTextet;39 privateRadioButtonrb1;40 privateRadioButtonrb2;4142 /*Calledwhentheactivityisfirstcreated.*/43 Override44 publicvoidonCreate(BundlesavedInstanceState)45 46 super.onCreate(savedInstanceState);47 /*載入main.xmlLayout*/48 setContentView(R.layout.main);4950 /*以findViewById()取得Button對象,并添加o

6、nClickListener*/51 Buttonb1=(Button)findViewById(R.id.button1);52 b1.setOnClickListener(newButton.OnClickListener()53 54 publicvoidonClick(Viewv)55 56 /*取得輸入的身高*/57 et=(EditText)findViewById(R.id.height);58 doubleheight=Double.parseDouble(et.getText().toString();59 /*取得選擇的性別*/60 Stringsex="&quo

7、t;61 rb1=(RadioButton)findViewById(R.id.sex1);62 rb2=(RadioButton)findViewById(R.id.sex2);63 if(rb1.isChecked()64 65 sex="M"66 67 else68 69 sex="F"70 7172 /*new一個Intent對象,并指定class*/73 Intentintent=newIntent();74 intent.setClass(A.this,B.class);7576 /*new一個Bundle對象,并將要傳遞的數(shù)據(jù)傳入*/77

8、Bundlebundle=newBundle();78 bundle.putDouble("height",height);79 bundle.putString("sex",sex);8081 /*將Bundle對象assign給Intent*/82 intent.putExtras(bundle);8384 /*調(diào)用ActivityB*/85 startActivityForResult(intent,0);86 87 );88 8990 /*覆蓋onActivityResult()*/91 Override92 protectedvoidonAct

9、ivityResult(intrequestCode,intresultCode,93 Intentdata)94 95 switch(resultCode)96 97 case0:98 /*取得來自Activity2的數(shù)據(jù),并顯示于畫面上*/99 Bundlebunde=data.getExtras();100 Stringsex=bunde.getString("sex");101 doubleheight=bunde.getDouble("height");102103 et.setText(""+height);104 if(

10、sex.equals("M")105 106 rb1.setChecked(true);107 108 else109 110 rb2.setChecked(true);111 112 break;113 default:114 break;115 116 117 然后是B接收到A,再回傳給AJava代碼118 viewplaincopytoclipboardprint?119 packagecom.my;120121 /*import相關(guān)class*/122 importjava.text.DecimalFormat;123 importjava.text.NumberF

11、ormat;124 importandroid.app.Activity;125 importandroid.content.Intent;126 importandroid.os.Bundle;127 importandroid.view.View;128 importandroid.widget.Button;129 importandroid.widget.TextView;130131 publicclassBextendsActivity132 133 Bundlebunde;134 Intentintent;135 /*Calledwhentheactivityisfirstcre

12、ated.*/136 Override137 publicvoidonCreate(BundlesavedInstanceState)138 139 super.onCreate(savedInstanceState);140 /*載入mylayout.xmlLayout*/141 setContentView(R.layout.myalyout);142143 /*取得Intent中的Bundle對象*/144 intent=this.getIntent();145 bunde=intent.getExtras();146147 /*取得Bundle對象中的數(shù)據(jù)*/148 Stringsex

13、=bunde.getString("sex");149 doubleheight=bunde.getDouble("height");150151 /*判斷性別*/152 StringsexText=""153 if(sex.equals("M")154 155 sexText="男性"156 157 else158 159 sexText="女性"160 161162 /*取得標準體重*/163 Stringweight=this.getWeight(sex,height)

14、;164165 /*設(shè)置輸出文字*/166 TextViewtv1=(TextView)findViewById(R.id.text1);167 tv1.setText("你是一位"+sexText+"n你的身高是"+height+168 "厘米n你的標準體重是"+weight+"公斤");169170 /*以findViewById()取得Button對象,并添加onClickListener*/171 Buttonb1=(Button)findViewById(R.id.button1);172 b1.setO

15、nClickListener(newButton.OnClickListener()173 174 publicvoidonClick(Viewv)175 176 /*返回result回上一個activity*/177 B.this.setResult(0,intent);178179 /*結(jié)束這個activity*/180 B.this.finish();181 182 );183 184185 /*四舍五入的method*/186 privateStringformat(doublenum)187 188 NumberFormatformatter=newDecimalFormat("0.00");189 Strings=formatter.format(num);190 returns;191 192193 /*以findViewById()取得Button對象,并添加onClick

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論