Skip to content

Commit 7c7b698

Browse files
committed
https://github.com/afreakyelf/Pdf-Viewer/issues/205
1 parent 94d7736 commit 7c7b698

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

app/src/main/java/com/rajat/sample/pdfviewer/MainActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ class MainActivity : AppCompatActivity() {
7171
lifecycle = lifecycle,
7272
cacheStrategy = CacheStrategy.MINIMIZE_CACHE
7373
)
74-
binding.pdfView.jumpToPage(3)
7574
}
7675

7776
binding.openInCompose.setOnClickListener {
@@ -110,6 +109,7 @@ class MainActivity : AppCompatActivity() {
110109

111110
override fun onPdfRenderSuccess() {
112111
Log.d("PDF Status", "Render successful")
112+
binding.pdfView.jumpToPage(2)
113113
}
114114
}
115115

@@ -128,7 +128,7 @@ class MainActivity : AppCompatActivity() {
128128
startActivity(
129129
PdfViewerActivity.launchPdfFromUrl(
130130
context = this,
131-
pdfUrl = "https://api.printnode.com/static/test/pdf/multipage.pdf",
131+
pdfUrl = largePdf1,
132132
pdfTitle = "PDF Title",
133133
saveTo = saveTo.DOWNLOADS,
134134
enableDownload = true,

pdfViewer/src/main/java/com/rajat/pdfviewer/PdfRendererView.kt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,15 @@ class PdfRendererView @JvmOverloads constructor(
199199
}
200200

201201
private fun initializeRenderer(renderer: PdfRendererCore) {
202+
// If re-initializing, clear old views & adapter
203+
if (pdfRendererCoreInitialised) {
204+
viewJob.cancel()
205+
removeAllViews()
206+
if (this::recyclerView.isInitialized) {
207+
recyclerView.adapter = null
208+
}
209+
}
210+
202211
PdfRendererCore.enableDebugMetrics = true
203212
pdfRendererCore = renderer
204213
pdfRendererCoreInitialised = true
@@ -423,7 +432,10 @@ class PdfRendererView @JvmOverloads constructor(
423432

424433
override fun onDetachedFromWindow() {
425434
super.onDetachedFromWindow()
426-
viewJob.cancel()
435+
// Clear adapter to release ViewHolders
436+
if (this::recyclerView.isInitialized) {
437+
recyclerView.adapter = null
438+
}
427439
closePdfRender()
428440
}
429441

0 commit comments

Comments
 (0)