android 中的文本追加覆盖

Text Appending override in android

我正在使用 append() 方法在 textview android 中附加文本,但它一次又一次地 override。我正在努力进行实时语音识别,并且正在获得要设置为文本视图的实时结果。我是这样做的,

  @Override
                    public void onPartialResults(Bundle partialResults) {
                        if (dsProperties.speechResultFound) return;

                        Boolean valid = (partialResults != null && partialResults.containsKey(SpeechRecognizer.RESULTS_RECOGNITION) &&
                                partialResults.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION) != null &&
                                partialResults.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION).size() > 0 &&
                                !partialResults.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION).get(0).trim().isEmpty());

                        if (valid) {
                            final String droidLiveSpeechResult = partialResults.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION).get(0);

                            if (droidSpeechListener == null) {
                                Log.i(TAG, "Droid speech live result = " + droidLiveSpeechResult);
                            } else {
                                // Setting the progress message

                                recognitionProgressMsg.setText(droidLiveSpeechResult);
//                                        setRecognitionProgressMsg(droidLiveSpeechResult);

                                // Sending an update with the droid speech live result
                                droidSpeechListener.onDroidSpeechLiveResult(droidLiveSpeechResult);
                            }

                            if ((System.currentTimeMillis() - dsProperties.pauseAndSpeakTime) > Extensions.MAX_PAUSE_TIME) {
                                dsProperties.speechResultFound = true;

                                droidSpeechPartialResult.postDelayed(new Runnable() {

                                    @Override
                                    public void run() {

                                        // Closing droid speech operations
//                                        closeDroidSpeech();

                                        if (dsProperties.showRecognitionProgressView && dsProperties.oneStepResultVerify) {
                                            // Saving the speech result
                                            dsProperties.oneStepVerifySpeechResult = droidLiveSpeechResult;

                                            restartDroidSpeech.postDelayed(new Runnable() {

                                                @Override
                                                public void run() {
                                                    startDroidSpeechRecognition();
//                                                    abc=abc+" "+droidLiveSpeechResult;
//                                                    droidSpeechListener.onDroidSpeechFinalResult(dsProperties.oneStepVerifySpeechResult);
                                                }

                                            }, Extensions.MAX_PAUSE_TIME);

                                        } else {
                                            if (droidSpeechListener == null) {
                                                Log.i(TAG, "Droid speech final result = " + droidLiveSpeechResult);
                                            } else {

                                                droidSpeechListener.onDroidSpeechLiveResult(droidLiveSpeechResult);
                                                if (dsProperties.continuousSpeechRecognition) {
                                                    // Start droid speech recognition again

                                                    startDroidSpeechRecognition();
                                                } else {

                                                }
                                            }
                                        }
                                    }

                                }, Extensions.PARTIAL_DELAY_TIME);
                            } else {
                                dsProperties.pauseAndSpeakTime = System.currentTimeMillis();
                            }
                        } else {
                            dsProperties.pauseAndSpeakTime = System.currentTimeMillis();
                        }
                    }

private void setRecognitionProgressMsg(String msg) {    
        if (recognitionProgressMsg != null && msg != null) {    
            recognitionProgressMsg.append(msg);    
        }
}

上面给出了实时识别和在波纹管函数中将实时结果设置为文本视图的完整代码。 有人可以纠正我吗?

String a = recognitionProgressMsg.getText().toString();
a+=msg;
recognitionProgressMsg.setText(a);