【发布时间】:2019-04-26 11:08:20
【问题描述】:
我正在尝试在 Kotlin 中的特定点击上更新我的 pojo 类,但它给了我错误:-
java.lang.stackoverflowerror: 堆栈大小 8mb
这是我的 Pojo 课程
class NavDrawerItem(var icon_normal: Int,var icon_notified: Int, var title: String, var isShowNotify: Boolean){
var title1: String = title
// get() = title // Calls the getter recursively
set(value)
{ title1 = value }
var image: Int = icon_normal
// get() = image
set(value)
{ image = value }
var image_notified: Int = icon_notified
// get() = image
set(value)
{ image_notified = value }
var notify: Boolean = isShowNotify
set(value) {
notify = value
}
}
我正在通过 NavigationDrawer 的 Item click 更新我的 Pojo
override fun onItemClick(position: Int) {
mDrawerLayout?.closeDrawer(this!!.containerView!!)
position1 = position
for (i in navDrawerItems.indices) {
val item = navDrawerItems[i]
item.notify=(if (i == position) true else false)
navDrawerItems[i] = item
mAdapter?.notifyDataSetChanged()
}
}
请帮帮我!!!!
【问题讨论】:
-
将
mAdapter?.notifyDataSetChanged()移到循环外。你为什么不使用data class 来做pojo。 -
它不工作,请分享一些代码