自定义View启动活动的结果

时间:2012-10-22 00:38:18

标签: android android-intent

我有一个自定义View,触摸后会启动Activity。我希望此自定义View遵循正确的面向对象的方法,因此我希望它独立于可能显示Activity的任何特定View

总结一下:Activity 1包含自定义View。自定义View启动Activity 2。

到目前为止,这么好。我可以在我的getContext()内拨打View以启动Activity 2.它看起来像这样:

Context con = getContext();
Intent launcher = new Intent(con, TimeWizard.class);
((Activity) con).startActivityForResult(launcher, LAUNCH_TIME);

正如在第三行中暗示的那样,我希望得到Activity的回报,但它最终会在Activity 1 onActivityResult()。这意味着Activity 1现在需要了解该习惯View的内部运作方式,这种情况不太理想 - 在某些情况下甚至是不可接受的。

所以我想做的是让View启动Activity 2,然后直接获得结果。有没有办法做到这一点?我觉得我必须在这里错过明显的答案。我的解决方法是使用Activity 1 onActivityResult()将结果传回View。它功能齐全,但非常混乱。

0 个答案:

没有答案