Я хочу создать простое устройство чтения PDF для Android, используя barteksc / AndroidPdfViewer (https://github.com/barteksc/AndroidPdfViewer).
. Я застрял на «Требуется аннотация типа для параметра значения« ошибка для »страниц, pageWidth, pageHeightФункция "3 параметра внутри" onRender "внутри" onCreate "ViewActivity.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_view)
if (intent != null) {
val viewType: String = intent.getStringExtra("ViewType")
if (viewType != null && !TextUtils.isEmpty(viewType)) {
if (viewType.equals("localFile")) {
if (intent.getType().equals("application/pdf")) {
val selectedPdf: Uri = Uri.parse(intent.getStringExtra("FileUri"))
pdfView.fromUri(selectedPdf)
.password(null)
.defaultPage(0)
.enableSwipe(true)
.enableDoubletap(true)
.swipeHorizontal(true)
.pageSnap(true)
.autoSpacing(true)
.pageFling(true)
.onDraw { canvas, pageWidth, pageHeight, displayedPage ->
}.onDrawAll { canvas, pageWidth, pageHeight, displayedPage ->
}.onPageChange { page, pageCount ->
}.onPageError { page, t ->
Toast.makeText(
this@ViewActivity,
"Error while opening page " + page,
Toast.LENGTH_SHORT
)
Log.d("ERROR", "" + t.localizedMessage)
}.onTap { false }
.onRender {
fun onRenderListener(pages, pageWidth, pageHeight) {
fun onInitiallyRendered(pages, pageWidth, pageHeight) {
pdfView.fitToWidth(pages)
}
}
}.enableAnnotationRendering(true)
.load()
}
}
}
}
}
Интересно, почему" canvas, pageWidth, pageHeight, displayPage, page, pageCount "не требуют аннотации типов.
Для "onDraw" и "onDrawAll" их параметры заключены в фигурные скобки {}, а для "onRender" "pages, pageWidth, pageHeight" заключены в круглые скобки ().
Как следуетнаписать .onRender?