android StartActivityForResult()方法詳解
startActivity方法的引數是intent,用於acitivity之間的普通跳轉
但是當一個activity跳轉至多個activity,並且需要從這些activity中或許相關的資料的時候,我們需要使用startctivityForResult方法,該方法的引數是Intent物件,指明要跳轉的activity物件,第二個是request code,這可以在回撥的時候判斷從哪個activity中回撥過來的,相當語給這些activity標上一些標誌。回撥的時候根據這些request來判斷actiivty。那麼用該方法跳轉的activity在finish的時候都會回撥原來activity的onActivityResult方法,那麼你如果想從目標activity獲取資料的話,就必須在目標activityfinish之前new一個intent,並且把這個activity中你想要的東西放入這個intent中,肯定需要一個方法,那麼這個方法就是setResult方法,引數是resultCode和intent物件。那麼這個resultCode和request的作用相似,因為你在原來的activity裡可能會在程式的兩個不同的地方跳轉到同一個activity類的兩個物件,那麼這個時候requestCode作用就來區分。那麼你在目標activity中也可能會從兩個不同地方finish,那麼這個時候resultCode的作用就是區分這些地方。
那麼最重要的還是原來activity中的onActivityResult方法了,引數分別是requstCode,resultCode,和intent物件,在內部可以用switch結構來對不同的回撥進行區分並且分別進行處理,傳送過來的資料就儲存在intent物件中。從中取出相應的資料並可以獲取資料了。
這是通過回撥機制來實現activity之間的通訊的。
相關文章
- startActivityForResult和setResult詳解
- Android中的onWindowFocusChanged()方法詳解Android
- Android FragmentTabHost 使用方法詳解AndroidFragment
- Activity回傳資料方法startActivityForResult onActivityResult
- Android startActivityForResult()廢棄了,代替方案案例Android
- Android筆記之Fragment的startActivityForResult(與requestPermissions)Android筆記Fragment
- activity和fragment中startactivityforresult方法的區別Fragment
- android中View.measure方法詳解AndroidView
- startActivityForResult小坑
- 關於startActivityForResult
- Activity的startActivityForResult
- Android AsyncTask 詳解Android
- Android:動畫詳解Android動畫
- Android拖拽詳解Android
- Android:Service詳解Android
- Android Notification 詳解Android
- Android WebView 詳解AndroidWebView
- Android – Drawable 詳解Android
- Android RecyclerView詳解AndroidView
- Android Proguard 詳解Android
- android service詳解Android
- super()方法詳解
- java方法詳解Java
- startActivityForResult()和onSaveInstanceState()用法
- 有來有去 startActivityForResult()
- Android Service生命週期 Service裡面的onStartCommand()方法詳解Android
- Android AlterDialog 常用對話方塊使用方法詳解Android
- Android SecureRandom漏洞詳解Androidrandom
- Android Service詳解(二)Android
- Android Service詳解(一)Android
- Android 向量圖詳解Android
- Android元件詳解—TextViewAndroid元件TextView
- Android-Service詳解Android
- Android Gson使用詳解Android
- Android Paint 使用詳解AndroidAI
- Android HttpURLConnection詳解AndroidHTTP
- Android AsyncTask使用詳解Android
- Android webview使用詳解AndroidWebView