Java android完成当前活动导致应用程序关闭

Java android完成当前活动导致应用程序关闭,java,android,eclipse,Java,Android,Eclipse,我正在执行maswebview类,我只想完成此活动。我尝试了maswebview.this.finish()但当执行时,应用程序被关闭。然后,如果我为选项卡内容设置了一个新视图,它会正确加载,webviewmas会消失,但只会消失一段时间,然后再次全屏显示。如何完整地完成maswebview?多谢各位 public void onClick(View arg0) { /* Intent intent = g

我正在执行maswebview类,我只想完成此活动。我尝试了
maswebview.this.finish()
但当执行时,应用程序被关闭。然后,如果我为选项卡内容设置了一个新视图,它会正确加载,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();
在新活动开始之前,是否调用“maswebview.this.finish();”

另外,如果您想在旧活动不存在的情况下启动此新活动,则可以将android:nohistory=“true”添加到manifest.xml中。这将导致当前活动成为队列中的唯一活动。 看

您需要提供更多的信息,以便我们更好地了解到底发生了什么

我希望这有帮助。

试试下面的代码

@Override
        public void onBackPressed() {
        if(childView != null && parentLayout.getChildCount()==2){
            childView.stopLoading();
            parentLayout.removeViewAt(parentLayout.getChildCount()-1);
            if(webView.getVisibility() == View.GONE)
                webView.setVisibility(View.VISIBLE);
        }else{          
            super.onBackPressed();
        }

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

但事实上,在我看来,你正在努力完成一些可以做得更简单的事情。你能提供更多关于手头任务的信息以及你正在尝试使用的应用程序结构吗

从您所说的来看,您似乎有一个选项卡式UI,您试图在其中一个选项卡中显示Web视图,然后将其隐藏

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


其次-,这很重要--看起来您正在尝试以旧的方式实现选项卡-TabWidget、TabHost等。自从Honeycom发布以来,有一种更方便的方法来实现选项卡式UI——这种方法更方便,并且会使您的webview问题变得过时:有一种叫做webview的东西,它基本上是一个webview,但更智能——它将以您所需的最小努力来处理自己的生命周期(即删除时暂停,添加时恢复)。研究碎片需要一些努力,但这是非常值得的。您可以将pre-Honeycom android SDK的片段API作为一个静态库—它被称为android-support-v4,您可以在android SDK管理器中下载它。

您是否有启动此活动的父活动?如果是,请确保在启动maswebview后不调用finish(),这样父活动将保留在堆栈中。一旦maswebview退出,就会为父活动调用onResume

添加例外的完整堆栈跟踪您必须在此处添加更多相关代码,这还不足以说明问题。是的,对不起,请查看编辑。logcat上也没有例外,应用程序刚刚关闭,没有出现错误。BViewFragment是到达它的起点!我非常感谢你们的帮助,这两种方法都不完全有效,但作为起点的链接很好+1.