Android 台灣中文網
標題:
Android Studio Intent傳值問題
[打印本頁]
作者:
yhLai02
時間:
2018-5-29 21:51
標題:
Android Studio Intent傳值問題
大家好~~~
我是android studio 新手,想請問大家有關Activity之間傳值的問題,
想做到的功能是在MainActivity 能切換至A,B ,且A的值可以傳到B,
我遇到的問題是切換A之後,A輸入的值無法傳到B(list),請問需要如何才能解決?
第一次使用此網站,請問需要附上那些資料?
謝謝各位:)
作者:
muska1116
時間:
2018-5-30 21:22
你的 A、B 是 Activity?fragment?還是?
你說無法傳值是目前使用了某種方法但是行不通?還是?
作者:
yhLai02
時間:
2018-6-3 17:10
muska1116 發表於 2018-5-30 21:22
你的 A、B 是 Activity?fragment?還是?
你說無法傳值是目前使用了某種方法但是行不通?還是? ...
A,B都是Activity ,
目前已經使用某方法但還是行不通
作者:
muska1116
時間:
2018-6-3 18:46
本帖最後由 muska1116 於 2018-6-3 18:48 編輯
一般來說,Activity 間的傳值可以使用 Intent,不過我想你應該試過不行,只是你給的資訊有點少,大概列一下我想到的…
我在想是不是因為你的 Activity 的啟動順序,
如果是 MainActivity -> A -> B,應該是沒什麼問題,
但是你的情況如果是 MainActivity -> A -> MainActivity -> B,也許就會有點不太一樣,
這時候就要看你的資料是否有存在本地端的必要還是只是臨時性的,
使用 SharedPreferences 存在資料庫是最快但未必適用每種情況,
如果是臨時性的,也許可以使用 startActivityForResult,將 A 的資料帶回 MainActivity 再傳給 B,
當然你也可以使用個 singleton 的 manager 來保存一些資料的 model…
我想到的另外一種可能是,也許你要傳的不是基本資料類型,而是自定義的 class,
那就讓你的 class 實作 Serializable 或是 Parcelable,就可以用 Intent 來傳了…
作者:
yhLai02
時間:
2018-6-5 20:25
我的情況是 MainActivity -> A -> MainActivity -> B, 那如果使用startActivityForResult,將 A 的資料帶回 MainActivity 再傳給 B, 該如何操作?
謝謝
作者:
muska1116
時間:
2018-6-5 20:35
本帖最後由 muska1116 於 2018-6-5 20:37 編輯
可以在 MainActivity 宣告變數將資料先存下來,要開啟 B 的時候,再用 Intent 的方式把值帶過去。不過還是要看你的目的是什麼,也可以參考我上面寫的資料保存方式。
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1