【发布时间】:2019-03-12 01:22:24
【问题描述】:
我无法弄清楚为什么类 PageFragment > getChapterLink 函数中的侦听器始终为空。我已经在 pageFragment 中设置了监听器。我花了很长时间调试这段代码,但我不能再修复它了。请帮我。谢谢。
class ReaderFragment : Fragment() {
private fun setPageRedirection() {
val pageFragment = PageFragment()
pageFragment.setChapterHrefCallbackListener(object: ChapterHrefCallback {
override fun getChapterLink(href: String) {
vPagerReaderPage.currentItem = pageAdapter!!.checkSpinePosition(href)
}
})
}
class PageFragment : Fragment(), ChapterHrefCallback {
private var listener: ChapterHrefCallback? = null
override fun getChapterLink(href: String) {
Timber.d("HREF -----> $href")
if (listener != null) {
listener?.getChapterLink(href)
Timber.d("HREF -----> " + listener?.getChapterLink(href))
}
}
fun setChapterHrefListener(listener: ChapterHrefCallback?) {
this.listener = listener
}
interface ChapterHrefCallback {
fun getChapterLink(href: String)
}
【问题讨论】:
-
因为
private var listener: ChapterHrefCallback? = null和setChapterHrefListener没有引用PageFragment里面的监听器