PDFrenderをFragmentで実装しようと思っています
java
1@Override 2 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 3 4 View view = inflater.inflate(R.layout.pdf_render_fragment, container, false); 5 return view; 6 } 7 8 @Override 9 public void onViewCreated(View view, Bundle savedInstanceState) { 10 super.onViewCreated(view, savedInstanceState); 11 12 mPdfimage = (ImageView) view.findViewById(R.id.pdf_view); 13 mPreviousbtn = (Button)view.findViewById(R.id.btn_previous); 14 mNextbtn = (Button)view.findViewById(R.id.btn_next); 15 16 mPreviousbtn.setOnClickListener(onActionListener(-1)); 17 mNextbtn.setOnClickListener(onActionListener(1)); 18 19 int index = 0; 20 if (null != savedInstanceState) { 21 index = savedInstanceState.getInt("mCurrent_page", 0); 22 } 23 showpage(index); 24 } 25 26 @Override 27 public void onAttach(Activity activity) { 28 super.onAttach(activity); 29 try { 30 openRender(activity); 31 } catch (IOException e) { 32 e.printStackTrace(); 33 activity.finish(); 34 } 35 } 36 37 @TargetApi(Build.VERSION_CODES.LOLLIPOP) 38 private void openRender(Activity activity) throws IOException { 39 40 try { 41 42 mFileDescriptor = activity.getAssets().openFd("sample.pdf").getParcelFileDescriptor(); 43 mPdfRenderer = new PdfRenderer(mFileDescriptor); 44 45 }catch (Exception e){ 46 e.printStackTrace(); 47 } 48 } 49 50 @TargetApi(Build.VERSION_CODES.LOLLIPOP) 51 private void showpage(int index){ 52 if (mPdfRenderer.getPageCount() <= index){ 53 return; 54 } 55 56 Bitmap bitmap = Bitmap.createBitmap(mCurrentPage.getWidth(),mCurrentPage.getHeight(), Bitmap.Config.ARGB_8888); 57 mCurrentPage.render(bitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY); 58 59 mPdfimage.setImageBitmap(bitmap); 60 } 61 62 private View.OnClickListener onActionListener(final int i) { 63 return new View.OnClickListener() { 64 @TargetApi(Build.VERSION_CODES.LOLLIPOP) 65 @Override 66 public void onClick(View v) { 67 68 if (i < 0) { 69 showpage(mCurrentPage.getIndex() - 1); 70 } else { 71 showpage(mCurrentPage.getIndex() + 1); 72 } 73 } 74 }; 75 } 76}
参考プロジェクトを見てプログラムを組んでいまして、とりあえずPDFを表示できればいいと思ってやっているのですが、エラーが出てしまいました。
java
1 java.lang.NoClassDefFoundError: android.graphics.pdf.PdfRenderer 2 at com.example.myapplication.Fragment.PdfRenderFragment.openRender(PdfRenderFragment.java:74) 3 at com.example.myapplication.Fragment.PdfRenderFragment.onAttach(PdfRenderFragment.java:61) 4 at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:849) 5 at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 6 at android.app.BackStackRecord.run(BackStackRecord.java:684) 7 at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1453) 8 at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443) 9 at android.os.Handler.handleCallback(Handler.java:733) 10 at android.os.Handler.dispatchMessage(Handler.java:95) 11 at android.os.Looper.loop(Looper.java:146) 12 at android.app.ActivityThread.main(ActivityThread.java:5602) 13 at java.lang.reflect.Method.invokeNative(Native Method) 14 at java.lang.reflect.Method.invoke(Method.java:515) 15 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 16 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 17 at dalvik.system.NativeStart.main(Native Method)
調べてはみたのですが、いまいち理解できなかったので、どなたかご教授宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/19 11:10
2016/05/20 06:18