startActivity V.S. startActivityForResult
將想叫起的Activity變成Intent然後丟給startActivity,讓他去告訴Android我有個意圖,請他執行,並可以透過finish()關掉一個Activity。
例如:
startActivity是個單向開啟的動作,可以透過Bundle傳資料給下一個Activity,而下一個Activity可以透過Intent收到資料, 但是原本的Activity沒辦法從下一個Activity那邊接收訊息
例如:
如果希望可以從新的Activity得到一些資訊就需使用startActivityForResult,他代表我開啟一個Activity並等待他傳些東西回來。
而使用startActivityForResult的時候,必須複寫Activity的onActivityResult函式才能真的有作用。
也需要有一個requestCode參數:為了讓接收資料的onActivityResult能夠辨別是哪個Activity回傳的資料。(因為有可能一個Activity能夠開啟很多不同的Activity)
例如:
參考來源:東方和風語
留言
張貼留言