AndroidPDFViewer – No se puede abrir el documento pdf en mi aplicación

Estoy usando esta biblioteca. Estoy tratando de cargar un PDF ubicado en los activos y no se carga. Aquí es donde lo cargo:

import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.github.barteksc.pdfviewer.PDFView; public class MainActivity extends AppCompatActivity { private PDFView pdfView; private String nameOfPDF = "" + R.string.name_of_pdf; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pdfView = (PDFView) findViewById(R.id.pdfView); pdfView.fromAsset(nameOfPDF).load(); } } 

Y aquí está el XML relevante:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="ru.webant.projects.mypdfviewer.MainActivity"> <com.github.barteksc.pdfviewer.PDFView android:id="@+id/pdfView" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout> 

La aplicación se ejecuta pero no ocurre nada. ¿Por qué está pasando esto?

Porque no está estableciendo el nombre de archivo correcto. Mira aquí:

 private String nameOfPDF = "" + R.string.name_of_pdf; 

Esto resulta en: nameOfPDF = SomeIdAsString . Lo que quieres llamar es getString() así:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pdfView = (PDFView) findViewById(R.id.pdfView); pdfView.fromAsset(getString(R.string.name_of_pdf)).load(); } 
 private String nameOfPDF = "" + R.string.name_of_pdf; 

A menos que le haya asignado un nombre grande y semi-aleatorio a su activo, esto es incorrecto.

Si R.string.name_of_pdf se supone que es el identificador de un recurso de cadena con el nombre de su archivo PDF, utilice:

 private String nameOfPDF = getString(R.string.name_of_pdf); 

Este proyecto de ejemplo muestra cómo utilizar AndroidPdfViewer para mostrar un PDF desde los recursos, entre otros lugares.

  • Convertir JPG a PDF
  • ¿Cómo puedo abrir un PDF en una aplicación de Android y permitir que los usuarios utilicen los hipervínculos incrustados?
  • ¿Cómo abrir un pdf almacenado en res / raw o carpeta de activos?
  • Lector de PDF para Android
  • Múltiples hipervínculos sobre una imagen en pdf android
  • Aplicación de Android para completar un formulario PDF
  • Lectura de PDF desde la carpeta de activos usando PDFViewer.jar
  • Problema al convertir .docx al archivo pdf en android
  • Cómo utilizar TTS (TextToSpeech) mientras que la cadena tiene más de 4000 caracteres en Android
  • API o bibliotecas para la vista de pdf desde url en Android
  • Cómo puedo convertir un mapa de bits en formato PDF en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.