2016-12-30 289 views
2

Activity,我开始一个图像选择的活动是这样的:视图可以从活动中获得结果吗?

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
intent.setType("image/*"); 
startActivityForResult(Intent.createChooser(intent,"Select Image"), 0); 

,并通过在同一Activity实施onActivityResult()得到的结果。

现在我有一个自定义View类,从中我想做同样的事情,或类似的。 但我希望这个班级得到结果,而不必让父母Activity实施onActivityResult(),只将结果交给我的班级。

我该怎么做?
谢谢。

回答

5

这是不可能的。 onActivityResult()总是去一个活动。该活动可以将结果委托给其他人,例如片段如何获得他们自己的startActivityForResult()调用的结果。

(我会进一步认为,一个小部件不应该被调用startActivity()startActivityForResult(),因为这并不真正适合任何GUI架构,我能想到的)

+3

有是does-片段一个GUI元素。根据他的逻辑的复杂程度,将视图转变为持有视图的片段可能是有意义的。 –

+0

感谢您的意见。我用一个对话框替换了有问题的活动,这对于这个目的来说工作得很好。 –

相关问题