简体   繁体   English

Android Kotlin / Anko-notifyDataSetChanged()不刷新

[英]Android Kotlin/Anko - notifyDataSetChanged() doesn't refresh

notifyDataSetChanged() , I'm using in the UI activity... notifyDataSetChanged(),我正在UI活动中使用...

It "refreshes" the view if I open and close it... reading it from RealmDB 如果我打开和关闭视图,它将“刷新”视图...从RealmDB中读取视图

what am I doing wrong? 我究竟做错了什么?

thanks in advance 提前致谢

Francesco 弗朗切斯科

class MainActivityUI : AnkoComponent<MainActivity> {
override fun createView(ui: AnkoContext<MainActivity>)= with (ui) {

    val list: ArrayList<RouletteRealmObject> = ArrayList(RouRealmManager().findAll())
    val mAdapter = RouAdapter(list)

    verticalLayout {

        linearLayout {
            lparams(width = matchParent, height = wrapContent)

            button("ADD") {
                                   onClick {

                                       alert {
                                           var newRouName: EditText? = null
                                           var newRouCasino: EditText? = null

                                           customView {
                                               verticalLayout {
                                                   textView("NEW ROULETTE")
                                                   newRouName = editText { hint = "Name" }
                                                   newRouCasino = editText { hint = "Casino" }
                                               }
                                           }
                                           positiveButton("OK") {

                                               RouRealmManager().insert("${newRouName!!.text}", "${newRouCasino!!.text}")
                                               toast("new roulette ${newRouName!!.text} form casino ${newRouCasino!!.text}")
                                               mAdapter.notifyDataSetChanged()

                                           }
                                       }.show()
                                   }
            }.lparams(width = matchParent, height = wrapContent)
        }

        recyclerView {
            lparams(width = matchParent, height = wrapContent)
            layoutManager = LinearLayoutManager(ctx)
            adapter = mAdapter
        }
    }
}

} }

Try this 尝试这个

class MainActivityUI : AnkoComponent<MainActivity> {

   override fun createView(ui: AnkoContext<MainActivity>)= with (ui) {
     val list = RouRealmManager().findAll()           
     val mAdapter = RouAdapter(list)
     list.addChangeListener(RealmChangeListener {
         mAdapter.notifyDataSetChanged()
     }) 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM