我正在制作一本类似app的书,其上有3个按钮。 当用户点击不同的按钮时,我想显示不同的PDF文件,每个按钮打开资产文件夹中的某个PDF文件。
按钮Onclicklistener,意图
Button btn = (Button)findViewById(R.id.hyp_funweb);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String easyPuzzle = "fun.pdf";
Intent i = new Intent (hyp_fun.this, Pdfviewer.class);
i.putExtra("puzzle", easyPuzzle);
startActivity(i);
}
});

pdfviewer.java
package org.pavantech.studyinter;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import com.github.barteksc.pdfviewer.PDFView;
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener;
import com.github.barteksc.pdfviewer.listener.OnPageChangeListener;
import com.github.barteksc.pdfviewer.scroll.DefaultScrollHandle;
import com.shockwave.pdfium.PdfDocument;
import java.util.List;
public class Pdfviewer extends Activity implements OnPageChangeListener,OnLoadCompleteListener{
private static final String TAG = MainActivity.class.getSimpleName();
PDFView pdfView;
Integer pageNumber = 0;
String pdfFileName;
public String FILE =getIntent().getStringExtra("puzzle");
//here public String FILE =getIntent().getStringExtra("puzzle"); is my problem
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
pdfView= (PDFView)findViewById(R.id.pdfView);
displayFromAsset(FILE);
}
private void displayFromAsset(String assetFileName) {
pdfFileName = assetFileName;
pdfView.fromAsset(FILE)
.defaultPage(pageNumber)
.enableSwipe(true)
.swipeHorizontal(false)
.onPageChange(this)
.enableAnnotationRendering(true)
.onLoad(this)
.scrollHandle(new DefaultScrollHandle(this))
.load();
}
@Override
public void onPageChanged(int page, int pageCount) {
pageNumber = page;
setTitle(String.format("%s %s / %s", pdfFileName, page + 1, pageCount));
}
@Override
public void loadComplete(int nbPages) {
PdfDocument.Meta meta = pdfView.getDocumentMeta();
printBookmarksTree(pdfView.getTableOfContents(), "-");
}
public void printBookmarksTree(List<PdfDocument.Bookmark> tree, String sep) {
for (PdfDocument.Bookmark b : tree) {
Log.e(TAG, String.format("%s %s, p %d", sep, b.getTitle(), b.getPageIdx()));
if (b.hasChildren()) {
printBookmarksTree(b.getChildren(), sep + "-");
}
}
}
}
&#13;
任何人都可以帮助解决我的问题
答案 0 :(得分:0)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
pdfView= (PDFView)findViewById(R.id.pdfView);
FILE = getIntent().getStringExtra("puzzle");
displayFromAsset(FILE);
}
将其移至oncreate