作者Jichang (C.C.Lemon)
看板AndroidDev
标题[问题] View start activity 後如何取得回传值
时间Thu Jul 23 10:49:26 2015
请问一下
我写了一个 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://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1437619768.A.BCF.html
1F:推 givemepass: 写个callback吧 07/23 11:02
2F:→ Jichang: 请问你的意思是 由 context 在去呼叫 view 传入回传值吗 07/23 11:18
3F:推 givemepass: 不是哦 你google listener 07/23 11:32
4F:推 ckvir: 你应该用 startActivityForResult 07/23 13:54
※ 编辑: Jichang (210.71.217.251), 07/23/2015 17:05:18
5F:推 ckvir: 应该是不行,因为其实你的view 也是藉由使用人activity 去 07/23 21:19
6F:→ ckvir: 换页的,当然会由原使用人去接收 07/23 21:19
7F:→ ssccg: 自己去start activity早就不只是个view元件了 07/23 21:37
8F:→ ssccg: 坚持要做view元件,就不要开activity而是自己叠新的view 07/23 21:39
9F:→ ssccg: 上去把ListActivity要做的事都在view层处理完才对吧 07/23 21:40
10F:→ ssccg: 不然就至少做成fragment才收的到activity result 07/23 21:46
OK ... 我有改用Dialog 是可以的
只是因为 ListActivity 是系统中已经存在的
Activity 想说直接拿来套用
晚点改用 Fragment ... 感谢!
※ 编辑: Jichang (1.169.93.185), 07/23/2015 23:08:00
11F:推 cakeboy: 或许可用view的settag跟gettag去包parcel的资料 07/25 10:24