如何以最佳方式在RecyclerView中更新SQL游标

时间:2019-06-26 11:58:26

标签: android kotlin android-recyclerview recycler-adapter

我有光标:MainActivity中的光标。我将光标解析到我的回收站视图类中

class RecyclerViewOfLists(var cursor: Cursor, val context: Context): RecyclerView.Adapter<RecyclerViewOfLists.ViewHolderHelper>()

以制作RecyclerView。

enter image description here

正如您在屏幕截图上所看到的,回收站内部存在一些问题和答案。 我想让用户能够编辑该问题并回答问题,因此当用户按下三个点时,它便开始起作用:

    inner class ViewHolderHelper(itemView: View) : RecyclerView.ViewHolder(itemView){

    init {
        itemView.edit.setOnClickListener {
// I careate dialog here where user can edit info of itemView
            val inputHelper = InputHelper(context)
            val builder = AlertDialog.Builder(context)
            val layoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
            val view = layoutInflater.inflate(R.layout.dialog_edit_question, null)

            view.answerInEdit.setText(itemView.answer.text.toString())
            builder.setPositiveButton(R.string.save, { dialogInterface: DialogInterface, i: Int ->

db.updateQuestion(itemView.question.text.toString(), itemView.answer.text.toString(), view.questionInEdit.text.toString(), view.answerInEdit.text.toString())
cursor =db.returnCursor()
notifyDataSetChanged()
})

            builder.setView(view)
            builder.show()


        }
    }

    fun fillingOfView(quest: String,answ: String){
        itemView.question.text = quest
        itemView.answer.text=answ
    }
}

问题是:我应该在RecyclerViewOfLists类内部编写对话框AlertDialog.Builder(context)的代码,还是应该在MainActivity内部进行编写?如果答案在MainActivity内部,那么如何在用户按下三个点的同时访问MainActivity内部的函数(请参见屏幕截图)?

问题的第二部分是:如何使游标在MainActivity内部和RecyclerViewOfLists内部相同?我的意思是,如果在RecyclerViewOfLists内部更改了光标,那么它也应该在MainActivity内部进行更新。

0 个答案:

没有答案