Android 自定义视图启动活动的结果

Android 自定义视图启动活动的结果,android,android-intent,Android,Android Intent,我有一个自定义的视图,当触摸它时,它会启动一个活动。我希望此自定义视图遵循适当的面向对象方法,因此我希望它独立于可能显示视图的任何特定活动 重述:活动1包含自定义的视图。自定义视图启动活动2 到目前为止,一切顺利。我可以从我的视图中调用getContext()来启动活动2。看起来是这样的: Context con = getContext(); Intent launcher = new Intent(con, TimeWizard.class); ((Activity) con).startA

我有一个自定义的
视图
,当触摸它时,它会启动一个
活动
。我希望此自定义
视图
遵循适当的面向对象方法,因此我希望它独立于可能显示
视图的任何特定
活动

重述:
活动
1包含自定义的
视图
。自定义
视图
启动
活动
2

到目前为止,一切顺利。我可以从我的
视图中调用
getContext()
来启动
活动
2。看起来是这样的:

Context con = getContext();
Intent launcher = new Intent(con, TimeWizard.class);
((Activity) con).startActivityForResult(launcher, LAUNCH_TIME);
正如在第三行中所暗示的,我希望得到该
活动的返回,但它最终会在
活动
1的
onActivityResult()
中结束。这意味着
活动
1现在需要了解自定义
视图
的内部工作原理,这不太理想,在某些情况下甚至是不可接受的


所以我想做的是让
视图
启动
活动
2,然后直接得到结果。有办法做到这一点吗?我觉得我一定错过了这个显而易见的答案。我的解决方法是使用ActivityResult()上的
活动
1的
将结果传递回
视图。这是功能性的,但非常混乱。

你找到解决方案了吗?我希望我能说我找到了我正在寻找的优雅解决方案,但我最终使用了上面列出的混乱方法。是的,我最终做了类似的事情。我试图通过创建这种接口来减少混乱:
public interface ActivityResultForwarder{public static interface ActivityResultListener{void onActivityResult(int requestCode,int resultCode,Intent data);}void startactivityforforforforforforforwarding(Intent-Intent,int-requestCode,ActivityResultListener);}
感谢您的回复!