Android - установка WebViewClient вызывает исключение NullPointerException в AsyncTask

1

Итак, у меня есть эта AsyncTask, которая загружает WebView в onPostExecute, которая в противном случае работает отлично, однако мне нужно что-то сделать для 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);
}

...


Что-то не так в этом коде?

Если я использую в основном тот же метод, но вне AsyncTask, то ошибок нет. И если я удаляю строки setWebViewClient, тогда он работает нормально.

  • 0
    Пожалуйста, опубликуйте трассировку стека или уточните, где происходит NPE.
Теги:

1 ответ

1
Лучший ответ

В вашем коде вы пытаетесь вызвать функцию webview (webview.setWebViewClient), прежде чем присваивать ему что-либо (webview = (WebView)findViewById(R.id.replyview);) изменить порядок этих двух утверждений.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню