Android-弹出对话框中的Webview?

Android-弹出对话框中的Webview?,android,webview,Android,Webview,我正在尝试将一个网络视图放入一个弹出对话框中。我可以让它在webview中弹出,但当我试图让它加载Url时,它会使我的应用程序崩溃。。。有什么帮助吗?我还尝试将webview设置放在OnCreate中 case R.id.calculatorBtn: Dialog dialog = new Dialog(DrawingActivity.this); dialog.setContentView(R.layout.webviewdialog); dia

我正在尝试将一个网络视图放入一个弹出对话框中。我可以让它在webview中弹出,但当我试图让它加载Url时,它会使我的应用程序崩溃。。。有什么帮助吗?我还尝试将webview设置放在OnCreate中

case R.id.calculatorBtn:
        Dialog dialog = new Dialog(DrawingActivity.this);
        dialog.setContentView(R.layout.webviewdialog);
        dialog.setTitle("Calculator");
        dialog.setCancelable(true);
        dialog.show();
在我添加这行下面的内容之前,它可以正常工作

         webview = (WebView) findViewById(R.id.webview);
        webview.getSettings().setJavaScriptEnabled(true);
       webview.loadUrl("http://myurl.com/hi.html");

        break;

请您提供更多的代码(可能是整个方法/类),这样我们就可以看到它所在的上下文。很可能是以前的代码导致此部件崩溃。

请尝试更换:

webview = (WebView) findViewById(R.id.webview);
与:

此外,通常,当你的应用程序崩溃时,你要做的第一件事就是在logcat中查找异常,并试图找出它的错误所在。如果您不能,并且最终发布了一个关于堆栈溢出的问题,那么该异常对于我们非常有用,以帮助您

我敢打赌,您得到的异常是这一行的
NullPointerException

webview.getSettings().setJavaScriptEnabled(true);

可能正在初始化webview的值

请尝试使用以下代码

Dialog dialog = new Dialog(DrawingActivity.this);
            LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View vi = inflater.inflate(R.layout.webviewdialog, null);
            dialog.setContentView(vi);
            dialog.setTitle("Calculator");
            dialog.setCancelable(true);
            WebView wb = (WebView) vi.findViewById(R.id.webview);
            wb.loadUrl("http://developer.android.com/guide/topics/ui/dialogs.html");
            System.out.println("..loading url..");
            dialog.show();

太好了,谢谢!一个问题。。。如何在这种情况下启用javascript?我似乎不能,如果我将webview.getSettings()设置为setJavascriptEnabled(true);应用程序强制关闭…请尝试wb.getSettings().setJavaScriptEnabled(true);我现在也试过了,我也有同样的问题,但是如何使用javainterface加载这个popupwindow呢
Dialog dialog = new Dialog(DrawingActivity.this);
            LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View vi = inflater.inflate(R.layout.webviewdialog, null);
            dialog.setContentView(vi);
            dialog.setTitle("Calculator");
            dialog.setCancelable(true);
            WebView wb = (WebView) vi.findViewById(R.id.webview);
            wb.loadUrl("http://developer.android.com/guide/topics/ui/dialogs.html");
            System.out.println("..loading url..");
            dialog.show();