0

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

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

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

4

1 回答 1

1

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

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

于 2012-09-10T14:25:44.680 回答