我正在执行 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/