android webview后退按钮setOnClickListener

时间:2012-04-25 11:22:15

标签: java android eclipse android-webview

我在主布局上设置了一个按钮,该按钮应该执行在另一个布局上设置的webview的goBack方法。当setOnClickListener用于backButton时,应用程序崩溃。我做错了什么?谢谢。

webView类,

 public class webPush extends Activity {

        WebView webview; 
        Button backButton;

        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            setContentView(R.layout.webview); 

            webview = (WebView) findViewById(R.id.webview1);

            backButton = (Button)findViewById(R.id.button1);

            backButton.setOnClickListener(new OnClickListener() 
            {
                  @Override 
                  public void onClick(View arg0) 
                  {
                      webview.goBack();
                  }
            });

            webview.getSettings().setJavaScriptEnabled(true);       

            webview.setWebViewClient(new WebViewClient());

            webview.loadUrl("http://www.google.com");

        }

来自主要布局,

<Button
                 android:id="@+id/button1"
                 style="?android:attr/buttonStyleSmall"
                 android:layout_width="78dp"
                 android:layout_height="wrap_content"
                 android:layout_weight="0.02"
                 android:text="Back" />

3 个答案:

答案 0 :(得分:3)

我认为你有nullpointer异常......因为...... webview is null

在setcontentview之后添加这一行...

  webview = (WebView) findViewById(R.id.webview1);

答案 1 :(得分:0)

尝试添加:

if (ourBrowser.canGoBack()) {
            ourBrowser.goBack();
}

答案 2 :(得分:0)

你在哪个布局放置了按钮?是在main.xml或webview布局中? 如果按钮在main.xml中,则setContentView(R.layout.main);