在android应用程序中在何处操作视图?

在android应用程序中在何处操作视图?,android,android-ui,Android,Android Ui,我有一个main活动,它创建MyOwnTextToSpeech对象,负责一些tts内容。它还必须操作某些UI视图(例如,在某些文本视图中设置文本)。我应该如何实现这种UI操作?将对MainActivity的引用传递给MyOwnTextToSpeech(和其他对象),并在MainActivity中准备一些公共方法来操作UI,或者我应该为所有视图(TextView等)创建getter来访问它们,这是个好主意吗?或者可能有一种方法不传递对MainActivity的引用(我在某个地方读到,传递对Acti

我有一个main活动,它创建MyOwnTextToSpeech对象,负责一些tts内容。它还必须操作某些UI视图(例如,在某些文本视图中设置文本)。我应该如何实现这种UI操作?将对MainActivity的引用传递给MyOwnTextToSpeech(和其他对象),并在MainActivity中准备一些公共方法来操作UI,或者我应该为所有视图(TextView等)创建getter来访问它们,这是个好主意吗?或者可能有一种方法不传递对MainActivity的引用(我在某个地方读到,传递对Activities的引用是不好的,因为有一些内存泄漏的东西)

更新

        public class MainActivity extends Activity {
           @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            MyOwnTextToSpeech myTts = new MyOwnTextToSpeech(context);
        }
}
我的班级负责tts

public class MyOwnTextToSpeech implements TextToSpeech.OnInitListener {

    private TextToSpeech tts;

    public MyOwnTextToSpeech (Context ctx) {
        tts = new TextToSpeech(ctx, this);
    }

    @Override
    public void onInit(int status) {
        if (status == TextToSpeech.SUCCESS) {

            tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {

                @Override
                public void onStart(String utteranceId) {
                }

                @Override
                public void onError(String utteranceId) {

                }

                @Override
                public void onDone(final String utteranceId) {

                    // here I want some UI update stuff

                }
            });
            int result = tts.setLanguage(new Locale("pl", "PL"));
            if (result == TextToSpeech.LANG_MISSING_DATA
                    || result == TextToSpeech.LANG_NOT_SUPPORTED) {
                Log.e("TTS", "This Language is not supported");
            }

        } else {
            Log.e("TTS", "Initilization Failed!");
        }

    }

这些都不好。阅读Java
Interface
并实现您自己的回调方法。我了解接口和回调。你能告诉我我的代码(更新)应该怎么做吗?只需将一个额外的参数传递给MyOwnTextToSpeech构造函数,并使用类似new callback()的回调函数{void callback(){myTextView.setText(“我的文本”);}}在这里查看我的答案