使用 PDF 查看器库时出现空指针异常

Posted

技术标签:

【中文标题】使用 PDF 查看器库时出现空指针异常【英文标题】:Null Pointer Exception when using PDF Viewer Lib 【发布时间】:2018-07-14 10:23:20 【问题描述】:

我在使用 androidPdfViewer 库时遇到以下错误。 这是我遇到的错误:

FATAL EXCEPTION: main
                                                                     Process: app.com.application, PID: 16559
                                                                     java.lang.NullPointerException: Attempt to invoke virtual method 'com.github.barteksc.pdfviewer.PDFView$Configurator com.github.barteksc.pdfviewer.PDFView.fromStream(java.io.InputStream)' on a null object reference
                                                                         at app.com.application.activity.Main2Activity$RetrievePDFStream.onPostExecute(Main2Activity.java:65)
                                                                         at app.com.application.activity.Main2Activity$RetrievePDFStream.onPostExecute(Main2Activity.java:38)

我的代码:

public class Main2Activity extends Activity 

String URL_PDF = "http://192.168.1.103/android_login_api/PDF/1G.pdf";
    PDFView pdfView;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    // view pdf from url
    new RetrievePDFStream().execute(URL_PDF);



 private class RetrievePDFStream extends AsyncTask <String, Void, InputStream>
     @Override
     protected InputStream doInBackground(String... strings) 
         InputStream inputStream = null;
         URL url = null;
         try 
             url = new URL(strings[0]);
          catch (MalformedURLException e) 
             e.printStackTrace();
         

         try 
             HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
             if (httpURLConnection.getResponseCode()==200)

                 inputStream = new BufferedInputStream(httpURLConnection.getInputStream());
             
          catch (IOException e) 
             return null;
         

        return inputStream;
     


     @Override
     protected void onPostExecute(InputStream inputStream) 
         pdfView.fromStream(inputStream).load();
     
     


请指导我解决问题,谢谢。 我还有一个问题:可以用Volley这个方法代替AsyncTask吗?

【问题讨论】:

您从未为字段“PDFView pdfView”设置值。 谢谢你 :) 我忘了删除pdfView = findViewById(R.id.pdfView);下面的评论现在我没问题了...@Ibrahim 【参考方案1】:

这是因为pdfView 为空。

【讨论】:

哦,真的谢谢你我已经评论了那部分代码

以上是关于使用 PDF 查看器库时出现空指针异常的主要内容,如果未能解决你的问题,请参考以下文章

使用 Java 编译器 API 时出现空指针异常

将项目加载到微调器时出现空指针异常

将 Geopoint 转换为 Location 时出现空指针异常

HomeBaseFragment 运行时出现空指针异常

使用 Hbase 运行 Nutch 爬虫 2.2 时出现空指针异常

尝试通过 websocket 转换和发送时出现空指针异常