我不确定如何处理我打算做的事情。我有一个包含三个片段的应用程序,每个片段由一个带有导航抽屉的活动导航。
我有一个文本到语音类,它将文本初始化为语音引擎。问题是,它需要被多个不同的片段使用。我的想法是在主Activity中创建一个TTS类的对象并扩展函数,以便片段可以调用它们,如下所示:
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mTextToSpeechService = ((NavigationActivity)this.getActivity()).GetTextToSpeechService();
}
我在这里看到的问题是,如果我需要做一些事情,例如在一个片段中更改语言,该怎么办?这意味着我必须公开另一个函数来设置活动中的TTS类,这似乎不对。
最好的方法是什么?
答案 0 :(得分:0)
有三种选择:
服务专为未连接到UI的任务而设计。如果要完成太多工作,您可能会发现第三个选项可以成为此特定问题的候选者。