java - android 完成当前 Activity 导致应用关闭

标签 java android eclipse

我正在执行 maswebview 类,我只想完成此 Activity 。我尝试了 maswebview.this.finish() 但在执行时,应用程序已关闭。然后,如果我为选项卡内容设置一个新 View ,它会正确加载并且 webviewmas 消失但只是一会儿,然后再次出现适合全屏。如何彻底完成maswebview?谢谢

public void onClick(View arg0) 
            {
                /*
                Intent intent = getIntent();
                intent.addFlags(Intent.FLAG_ACTIVITY_TASK_ON_HOME);
                startActivityForResult(intent, 1);
                Intent intentmas = new Intent (maswebview.this, mas.class);
                intentmas.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
                intentmas.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
                intentmas.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
                intentmas.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                View vista = getLocalActivityManager().startActivity("maswb", intentmas).getDecorView();
                setContentView(vista);  */

                maswebview.this.finish();

最佳答案

当您调用 finish() 时,堆栈中是否还有您的应用程序的任何其他 Activity ?如果不这样做,您将希望开始所需的 Activity 而不是完成当前的 Activity 。

但实际上在我看来,您正在尝试完成一些可以更简单地完成的事情。您能否提供有关手头任务的更多信息以及您尝试使用的应用结构?

从你所说的来看,你似乎有选项卡式 UI,你正试图在其中一个选项卡中显示 webview,然后隐藏它。

首先,我不明白您为什么要将 webview 放在单独的 Activity 中。在我看来,您可以将它放在其中一个选项卡的布局中,然后调用 setVisibility(GONE) 来隐藏它。

其次 - 这很重要 - 看起来你正在尝试以方式实现选项卡 - TabWidget、TabHost 等。自从 Honeycomb 发布以来,有实现选项卡式 UI 的更便捷方式 - Action Bar Tabs and Fragments - 这种方法更方便,并且会使您的 webview 问题过时:有一种叫做 WebViewFragment 的东西这基本上是一个 WebView 但更智能 - 它将以最少的工作量处理自己的生命周期(即删除时暂停,添加时恢复)。研究 Fragments 需要一些努力,但这是非常值得的。您可以获得 Fragments API for pre-Honeycomb android sdks 作为静态库 - 它称为 android-support-v4,您可以在 Android SDK Manager 中下载它。

关于java - android 完成当前 Activity 导致应用关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11087600/

相关文章:

java集合和errorlist混合问题

android - Android SDK 23 中的 "context click"是什么

当我开始一个 Intent 时 Android 应用程序崩溃

eclipse - 基于 Eclipse 的 IDE 中的 Mac OS 选项卡切换

java - 在 Eclipse 中跳转到 block 的开头/结尾

java - 我的应用程序在启动时停止

java - 在 xtext 中创建对象

java - HttpMethod.releaseConnection() 用法

java - 无法解析符号 "actionBarActivity"- Android

java - 如何向 Eclipse Indigo 添加 Metro Web 服务支持