复合组件可以为结果启动活动吗?

时间:2012-09-10 14:21:03

标签: android

是否可以创建一个复合组件封装结果的启动活动逻辑?

例如,如果我想创建一些设置页面(Activity),能够让用户选择音频文件,图像文件和一些联系人。 为什么我不能将每个想法封装成一个独立的复合组件,谁能独立完成它的工作呢?例如,拾取音频例子可以运行隐含的意图来获取用户的音频选择,然后在进行选择时,它可以在包含在该compund组件中的TextView上显示结果,并且可以让用户调整其音量和内容。

我不明白Google为什么会这样设计它在我的用例中我必须在一个活动类中实现所有这个逻辑? (或者对每种用途都有活动,这是我不想要的)。

1 个答案:

答案 0 :(得分:1)

您不必在单个活动类中实现所有逻辑。我认为最简单的方法是创建一个接口,希望支持该元素的活动必须实现。您在创建此组件时提供对此接口的引用。

然后,您可以拥有一个回调机制,该机制将在音频文件选择器活动的结果准备好后(onActivityResult()之后)通知组件。这并不容易,但绝对可以将组件与特定活动分离。