我在Android设备的存储空间中有一个pdf文件,我希望使用pdfView小部件显示该文件。我在遵循MVP模式之前已经完成了这个,我在片段活动类中完成了它:
PDF pdfView;
public static String SAMPLE_FILE; //this is where I put in my file location
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
pdfView = (PDFView)view.findViewById(R.id.pdfView);
pdfView.fromFile(new File(SAMPLE_FILE))
.defaultPage(pageNumber)
.enableSwipe(true)
.onRender(this)
.swipeHorizontal(false)
.onPageChange(this)
.enableAnnotationRendering(true)
.load();
}
我现在要做的是使用MVVM实现pdf View。
我遇到的问题是,当我尝试在我的视图模型中实现类似的东西时,这一行:
pdfView = (PDFView) view.findViewById(R.id.pdfView);
返回一个null对象。
显然使用findViewById在使用MVVM时是禁止的,如何在不使用findViewById的情况下实现它?
我用它来显示pdfs:https://github.com/barteksc/AndroidPdfViewer
答案 0 :(得分:0)
object PDFViewBindingAdapter {
@JvmStatic
@BindingAdapter("pdfFile")
fun setImageURI(pdfView: PDFView, file: File) {
file?.let {
pdfView.fromFile(file)
.defaultPage(0)
.enableSwipe(true)
.swipeHorizontal(false)
.enableAnnotationRendering(true)
.load()
}
}
}