在Asynctask的onPostExecute中获取空对象引用?

时间:2018-04-18 09:15:51

标签: java android

我试图使用webview在asynctask中显示我的结果,但我得到了nullpointExc任何帮助将不胜感激。

 @Override
    //Display my result via webview
    protected void onPostExecute(String result) { //where i get my result
        setContentView(R.layout.paynamics_layout);
        WebView myweb = (WebView) view.findViewById(R.id.paynamics_site);
        myweb.loadData(result, "text/html", null); // i got error here
        myweb.canGoBack();
        super.onPostExecute(result);

    }

这是我的错误

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.webkit.WebView.loadData(java.lang.String, java.lang.String, java.lang.String)' on a null object reference

1 个答案:

答案 0 :(得分:1)

无需使用setContentView。仅在onCreate();

中使用它

您可以尝试以下任何一种方法 -

  • 如果尚未添加WebView,请在您的布局中添加它!
  • onCreate();
  • 中初始化WebView变量
  • 将WebView的可见性保持为View.GONE;
  • OnPostExecute()中的WebView的loadData&通过setVisibility(View.VISIBLE);
  • 使其可见

或者

  • 创建另一个包含WebView的Activity;
  • 获取onPostExecute();
  • 中的数据
  • 将含有意图的数据发送到其他活动&在WebView中显示相同内容。