Activity的跳转及返回值,activity的生命周期
Activity生命周期
從創(chuàng)建到銷毀的生命周期:
onCreate()→onStart()→onResume()→onPouse()→onStop()→onDestroy()
從起動(dòng)到后臺(tái)再到前臺(tái):
onCreate()→onStart()→onResume()→onPouse()→onStop()→onRestart()→onStart()→onResume()
?
啟動(dòng)第二個(gè)activity
1. 創(chuàng)建new activity
2. 創(chuàng)建對(duì)應(yīng)的new xml布局文件
3. 在new activity中setContentView(R.layout.new xml);關(guān)聯(lián)起來(lái)
4. 將new activity在AndroidMainfest.xml中注冊(cè)一下, 包括改名字name屬性、有intent_filter的是首啟動(dòng)頁(yè)面
在原來(lái)<activity 。。。/>下加入新的
<activity android:name=".demo_act"android:theme="@android:style/Theme.DeviceDefault.Dialog"樣式效果 可不做Activity跳轉(zhuǎn)Eg:Intent intent = new Intent(Second.this,first.class);startActivity(intent);----------------------------------------------------無(wú)返回值?
1. Intent:意圖,協(xié)助完成Android各個(gè)組件之間的通訊
2.
①startActivity(intent)
②startActivityForResult(intent,requestCode)//有返回值
onActivityResult(int requestCode,int resultCode,Intent data)//接收返回值A(chǔ)頁(yè)面
setResult(resultCode,data)//設(shè)置返回值B頁(yè)面
第1種方法
ntent intent = new Intent(Second.this,first.class);
startActivity(intent);----------------------------------------------------無(wú)返回值
第2種方法
1 bt2.setOnClickListener(new View.OnClickListener() { 2 @Override 3 public void onClick(View v) { 4 Intent intent = new Intent(first.this,Second.class); 5 startActivityForResult(intent,1); 6 } 7 }); 8 9 10 @Override 11 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 12 super.onActivityResult(requestCode, resultCode, data); 13 if(requestCode == 1 && resultCode == 2){ 14 String a = data.getStringExtra("AAA"); 15 tv.setText(a); 16 } 17 ----------------------華麗麗de分界線----------------------- 18 bt2.setOnClickListener(new View.OnClickListener() { 19 @Override 20 public void onClick(View v) { 21 Intent intent = new Intent(); //回傳intent不需要參數(shù)了 22 String s= (String)tv.getText(); 23 intent.putExtra("AAA",s); //給意圖intent添加key、value 24 setResult(2, intent); //設(shè)置返回標(biāo)號(hào) ,這里是2;回傳的是intent 25 26 finish(); //銷毀當(dāng)前頁(yè)面 27 } 28 });1.startActivityForResult(intent,requestCode);有返回值
第一個(gè)參數(shù)是Intent對(duì)象
第二個(gè)參數(shù)是請(qǐng)求的一個(gè)標(biāo)識(shí),即請(qǐng)求標(biāo)號(hào)
2.通過(guò)startActivityForResult跳轉(zhuǎn),接收返回?cái)?shù)據(jù)的方法
onActivityResult(int requestCode,int resultCode,Intentdata)
第一個(gè)參數(shù)是請(qǐng)求的標(biāo)識(shí)
第二個(gè)參數(shù)是第二個(gè)頁(yè)面返回的標(biāo)識(shí)
第三個(gè)參數(shù)是第二個(gè)頁(yè)面回傳的數(shù)據(jù)
3.setResult(resultCode,data)
回傳到第一個(gè)頁(yè)面實(shí)際上是一個(gè)Intent對(duì)象
Intent data=new Intent();
data.putExtra("data",content);
setResut(2,data);
finish();//結(jié)束當(dāng)前頁(yè)面
轉(zhuǎn)載于:https://www.cnblogs.com/zmaibbs7/p/4808842.html
總結(jié)
以上是生活随笔為你收集整理的Activity的跳转及返回值,activity的生命周期的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ML 徒手系列 最大似然估计
- 下一篇: linux如何连接移动硬盘