繁体   English   中英

Webview上的Android后退按钮会杀死应用

[英]Android Back button on webview kills app

*解决了,我只需要公开声明我的webview变量即可使后退按钮类正常工作。 谢谢您的帮助

我使用webview类进行了独特的设置,而我搜索过的所有内容都一无所获。

我正在使用按钮启动Webview,但遇到的问题是,当我按下“后退”按钮返回到主应用程序屏幕时,它只会终止该应用程序。 我在底部添加了一些代码来尝试解决我的问题,但是没有成功。

顺便说一句,下面的代码已更新为当前对我有用。

package my.android.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.Toast;

public class MobileAppActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

}
WebView wb;
public void onMyButtonClick01(View view)  
    {  
        Toast.makeText(this, "Pay your dues here!", Toast.LENGTH_SHORT).show(); 
        wb = new WebView(this);
        wb.loadUrl("http://www.link1.html");
        setContentView(wb);           
    }       
public void onMyButtonClick02(View view)  
{  
    Toast.makeText(this, "Re-Sign here!", Toast.LENGTH_SHORT).show(); 
    wb = new WebView(this);
    wb.loadUrl("http://www.link2.html");
    setContentView(wb);

}  
public void onBackPressed () {
    if(wb != null) {
        if(wb.canGoBack()) {
             wb.goBack();
        } else {
             setContentView(R.layout.main);
             wb = null;
        }
    } else {
        super.onBackPressed();
    }
} 
}

我以为您在其他地方省了wb 不知道如何从onBackPressed()访问它。 假设您确实有一种获取方法。

public void onBackPressed () {
    if(wb != null) {
        if(wb.canGoBack()) {
             wb.goBack();
        } else {
             setContentView(R.layout.main);
             wb = null;
        }
    } else {
        super.onBackPressed();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM