Kotlin高仿微信-第18篇-单聊-删除单条信息

实现代码:

//长按
inner  class OnItemLongClick : WcOnItemLongClickInterface {
    override fun onItemLongClick(position: Int) {
        TagUtils.d("长按position:${position}");
        var chatBean = adapter.getItemObject(position);
        TagUtils.d("长按chatBean:${chatBean?.content}");
        showDeleteDialog(position)
    }
}
//显示删除对话框
fun showDeleteDialog(position : Int){
    var view = LayoutInflater.from(this.requireActivity()).inflate(R.layout.wc_chat_delete_tip, null)
    baseDialogUtils = BaseDialogUtils(this.requireActivity())
    baseDialogUtils!!.builder()
        .showView(view)
        .setCancelable(false)
        .setOnLoadingClick(object : BaseDialogUtils.OnLoadingClick{
            override fun onClickCancel() {

            }

            override fun onClickConfirm() {
                var chatBean = adapter.getItemObject(position)
                if(chatBean!=null){
                    chatViewModel.deleteChat(chatBean)
                }
                adapter.remove(position)
            }
        })
    baseDialogUtils?.show()
}
删除数据库数据
fun deleteChat(chatBean: ChatBean) {
    CoroutineScope(Dispatchers.IO).launch {
        ChatRepository.deleteChat(chatBean)
    }
}
经验分享 程序员 微信小程序 职场和发展