我在主布局上设置了一个按钮,该按钮应该执行在另一个布局上设置的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" />
答案 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);