webview上的Android Back按钮会杀死应用

时间:2012-02-06 21:04:27

标签: android button webview kill back

*解决 我只需要公开声明我的后退按钮类的webview变量才能正常工作。谢谢你的帮助

我有一个关于webview课程的独特设置,我用Google搜索的所有内容都无处可去。

我正在使用按钮来启动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();
    }
} 
}

1 个答案:

答案 0 :(得分:0)

我假设你在其他地方豁免wb?不确定您是如何从onBackPressed()访问的。假设您有办法获取它。

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