TabHost在显示新活动一段时间后显示默认活动

时间:2011-09-22 01:23:56

标签: android android-activity android-tabhost tabactivity

感谢阅读。

我遇到的问题是,当我在Activity中开始新的TabHost时,新Activity只会显示几秒钟,然后才会返回默认Activity } Tab

我正在使用TabHost在我的应用中布置5个标签。在其中一个标签中,我按如下方式开始新的Activity


Intent intent = new Intent(this, NewActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
LocalActivityManager manager = MyActivityGroup.ActivityGroup.getLocalActivityManager();
MyActivityGroup.ActivityGroup.replaceView(manager.startActivity("NewActivity", intent).getDecorView() );

在此NewActivity s'onCreate()中,我正在调用语音识别库'startRecord()方法,其实现方式如下:


private void startRecognition() {
        try {
             recognizer.startRecord(new SpeechRecognizerEvent() {
                 @Override
                 public void onRecognitionComplete(SpeechResult result) {
                           //get result data
                 }
}

我所知道的是SpeechFrameworkActivity中有一个AndroidManifest.xml与此库相关联。

如果我注释掉调用startRecord()方法,则NewActivity不会消失并继续显示。

我对于出了什么问题一无所知。

从日志中,我看到的只有一行:


09-21 21:16:44.860: DEBUG/PhoneWindow(6737): couldn't save which view has focus because the focused view com.android.internal.policy.impl.PhoneWindow$DecorView@4794d9b8 has no id.

我尝试在onConfigurationChanged()中使用MainTabActivity,但这并没有解决问题。

请帮忙!任何帮助/指针都将非常感谢!

1 个答案:

答案 0 :(得分:1)

由于内存较少,可能会发生这种情况 在我的情况下,我每次使用前都要清除内存 它的工作原理可能在你的情况下有效 或使用system.gc 或清除缓冲区只是试试这个,如果它有帮助你。