看板 AndroidDev 關於我們 聯絡資訊
請問一下 我寫了一個 view 但是在 view 裡面會利用 context.startActivity 去產生另外一個 activity 但是 那個 activity 完成操作後 要如何把回傳值,送回去給 view 正常是會呼叫 context 的 onActivityResult 但是我的 view 有事件可以監聽嗎? 因為我想要讓事件寫在 view 裡面 不想寫在 context裡面? 謝謝! ------------------------------------------ 我再說明一下好了 class MainAcitivy{ View view; } class View{ MainAcitivy a; onClick(){ a.startActivityForResult(ListActivity.class); } } class ListActivity{ finish(); // send data to view .. } 現在問題是 ListActivity 回傳的資料 會在 MainAcitivy 的 onActivityResult 的 intent 拿到 但是我想要在 view 裡面處理這件事情 因為 我開發的是 view 元件,所以不希望使用的人(Acitvity) 還要去處理這一段 例如說 view 有沒有什麼事件可以監聽 知道他的activity 又變成 start 狀態? ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.71.217.251 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1437619768.A.BCF.html
givemepass: 寫個callback吧 07/23 11:02
Jichang: 請問你的意思是 由 context 在去呼叫 view 傳入回傳值嗎 07/23 11:18
givemepass: 不是哦 你google listener 07/23 11:32
ckvir: 你應該用 startActivityForResult 07/23 13:54
※ 編輯: Jichang (210.71.217.251), 07/23/2015 17:05:18
ckvir: 應該是不行,因為其實你的view 也是藉由使用人activity 去 07/23 21:19
ckvir: 換頁的,當然會由原使用人去接收 07/23 21:19
ssccg: 自己去start activity早就不只是個view元件了 07/23 21:37
ssccg: 堅持要做view元件,就不要開activity而是自己疊新的view 07/23 21:39
ssccg: 上去把ListActivity要做的事都在view層處理完才對吧 07/23 21:40
ssccg: 不然就至少做成fragment才收的到activity result 07/23 21:46
OK ... 我有改用Dialog 是可以的 只是因為 ListActivity 是系統中已經存在的 Activity 想說直接拿來套用 晚點改用 Fragment ... 感謝! ※ 編輯: Jichang (1.169.93.185), 07/23/2015 23:08:00
cakeboy: 或許可用view的settag跟gettag去包parcel的資料 07/25 10:24