Android-设置WebViewClient会导致AsyncTask中出现NullPointerException

Android-设置WebViewClient会导致AsyncTask中出现NullPointerException,android,Android,所以我有一个AsyncTask,它在onPostExecute中加载一个WebView,否则效果会很好,但是我需要为onLoadResource做一些事情,所以我试图设置一个WebViewClient,出于某种原因,它会导致NullPointerException private class newThread extends AsyncTask{ private WebView webview; ... protected void onPostExecute(Void resu

所以我有一个AsyncTask,它在onPostExecute中加载一个WebView,否则效果会很好,但是我需要为onLoadResource做一些事情,所以我试图设置一个WebViewClient,出于某种原因,它会导致NullPointerException

private class newThread extends AsyncTask{ private WebView webview; ... protected void onPostExecute(Void result){ setContentView(R.layout.reply); webview.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url){ return true; } @Override public void onLoadResource(WebView view, String url){ finish(); } }); webview = (WebView)findViewById(R.id.replyview); webview.getSettings().setJavaScriptEnabled(true); webview.setScrollBarStyle(0); webview.loadDataWithBaseURL("http://example.com", "example", "text/html", "utf-8", null); } ... 私有类newThread扩展异步任务{ 私有网络视图; ... 受保护的void onPostExecute(void结果){ setContentView(R.layout.reply); setWebViewClient(新的WebViewClient(){ @凌驾 公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url){ 返回true; } @凌驾 public void onLoadResource(WebView视图,字符串url){ 完成(); } }); webview=(webview)findViewById(R.id.replyview); webview.getSettings().setJavaScriptEnabled(true); webview.setScrollBarStyle(0); webview.loadDataWithBaseURL(“http://example.com“,”示例“,”文本/html“,”utf-8“,”空); } ... 那代码有什么错误吗


如果我使用基本相同的方法,但在异步任务之外,则不会出现错误。如果我删除setWebViewClient行,则运行正常。

在代码中,您尝试调用webview的函数(
webview.setWebViewClient
),然后再为其分配任何内容(
webview=(webview)findViewById(R.id.replyview);
)更改这两条语句的顺序。

请张贴堆栈跟踪或更清楚地指出NPE发生的位置。