그래서이 AsyncTask는 onPostExecute에서 WebView를로드합니다. 그렇지 않으면 완벽하게 작동하지만, WebViewClient를 설정하려고 할 때 어떤 이유로 onLoadResource를 수행해야합니다. NullPointerException이 발생합니다.안드로이드 - WebViewClient를 설정하면 AsyncTask에서 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); } ...
이 코드에 문제가 있습니까?
기본적으로 동일한 방법을 사용하지만 AsyncTask 외부에서는 오류가 없습니다. 그리고 setWebViewClient 행을 제거하면 잘 돌아갑니다.
스택 추적을 게시하거나 NPE가 발생하는 위치를보다 명확하게 표시하십시오. – katsharp