2

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

网络视图类,

 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" />
4

3 回答 3

3

我认为你有空指针异常......因为......webview is null

将此行放在 setcontentview 之后...

  webview = (WebView) findViewById(R.id.webview1);
于 2012-04-25T11:24:28.943 回答
0

尝试添加这个:

if (ourBrowser.canGoBack()) {
            ourBrowser.goBack();
}
于 2012-04-25T11:26:22.793 回答
0

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

于 2012-04-25T11:39:02.677 回答