Android中onActivityResult/startActivityForResult用法

一直對於onActivityResult這個用法很模糊,界面跳轉及傳值,最近因爲工做須要,須要在3-5個界面之間傳值返回,因此認真看了一下,如今來簡單作個總結吧:spa

Action0-------->Action1-------->Action2-------->Action3-------->Action4code

需求:在第5個界面中點 擊」返回「按鈕,返到第一個界面Action0get

界面4:    it

bt_click.setOnClickListener(View.OnClickListener()  
{    (View v) {
    setResult()finish()}
})


界面3:io

    startActivityForResult(intent)}(requestCoderesultCodeIntent data)  
{  (requestCode == && resultCode == ) {        .setResult()finish()}


界面2:cli

    startActivityForResult(intent)}(requestCoderesultCodeIntent data) 
 {    (requestCode == && resultCode == ) {        .setResult()finish()}


界面1:List

    startActivityForResult(intent)}(requestCoderesultCodeIntent data)  
{    (requestCode == && resultCode == ) {        .setResult()finish()}


界面0:request

詳解:總結

從第5個界面跳到第4個界面時,根據第5個界面返回的resultCode和第4個界面的requestCode來肯定要執行的操做,這裏是關閉界面,第一次是關閉第4個界面,依次類推,逐漸關閉中間的界面,返回到第一個界面。vi

傳值:

startActivityForResult(Intent(Activity1.).putExtra(FROM_EXTRA,Activity1.A),1);

取值:

int from= getIntent().getIntExtra(FROM_EXTRA,0);
相關文章
相關標籤/搜索