【问题标题】:Implement Android Pdf Viewer Library实现 Android Pdf Viewer 库
【发布时间】:2013-01-17 12:49:39
【问题描述】:

它似乎是唯一不依赖于 MuPDF 的免费 android pdf 阅读器。

我正在尝试证明这一点,我有 downloaded the project 但运行它时出现异常:

01-17 13:45:03.960: E/AndroidRuntime(13631): FATAL EXCEPTION: main
01-17 13:45:03.960: E/AndroidRuntime(13631): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{net.sf.andpdf.pdfviewer/net.sf.andpdf.pdfviewer.PdfViewerActivity}: java.lang.InstantiationException: can't instantiate class net.sf.andpdf.pdfviewer.PdfViewerActivity
01-17 13:45:03.960: E/AndroidRuntime(13631):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1894)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at android.app.ActivityThread.access$600(ActivityThread.java:128)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at android.os.Looper.loop(Looper.java:137)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at android.app.ActivityThread.main(ActivityThread.java:4514)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at java.lang.reflect.Method.invokeNative(Native Method)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at java.lang.reflect.Method.invoke(Method.java:511)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at dalvik.system.NativeStart.main(Native Method)
01-17 13:45:03.960: E/AndroidRuntime(13631): Caused by: java.lang.InstantiationException: can't instantiate class net.sf.andpdf.pdfviewer.PdfViewerActivity
01-17 13:45:03.960: E/AndroidRuntime(13631):    at java.lang.Class.newInstanceImpl(Native Method)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at java.lang.Class.newInstance(Class.java:1319)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at android.app.Instrumentation.newActivity(Instrumentation.java:1027)
01-17 13:45:03.960: E/AndroidRuntime(13631):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1885)

在项目的自述文件中,最后一步我看不懂。

6) 使用以下代码调用派生的 PdfViewActivity:

 Intent intent = new Intent(this, YourPdfViewerActivity.class);
 intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, "PATH TO PDF GOES HERE");
 startActivity(intent);

谁能解释一下这一步是什么?或者更重要的是:有人可以使用这个 pdf 阅读器吗?

谢谢

【问题讨论】:

    标签: android pdf-viewer


    【解决方案1】:

    问题是您尝试在Intent 中实例化的PdfViewerActivityabstract class 并且无法实例化(类here 的链接)。您需要创建一个扩展 PdfViewerActivity 的 Activity,实现该类具有的任何抽象方法。像这样的:

    public class MyPdfViewerActivity extends PdfViewerActivity {
    
       //Your implementation code here.
    }
    

    【讨论】:

    • 谢谢!这是一个很棒的答案!你摇滚 koukio!
    • @GeorgeSachin 很高兴我能帮助你 Sachpatzidi!
    • @Angelo 嘿,我们可以用这个 pdfvieweractivity 实现操作栏
    • @nads 由于PdfViewerActivity 扩展了android.app.Activity,所以如果不修改PdfViewerActivity 的源代码,就无法添加操作栏功能。
    • @Angelo 谢谢回复。你能推荐我任何其他的 pdf 查看器库吗?
    猜你喜欢
    • 2013-10-28
    • 2018-05-30
    • 2021-03-28
    • 2015-08-14
    • 2021-08-04
    • 2023-01-06
    • 1970-01-01
    • 2019-06-03
    • 2021-12-27
    相关资源
    最近更新 更多