Android开发融云消息列表去掉不想显示的会话

Android开发融云消息列表去掉不想显示的会话

我用的融云版本是

versionName "5.3.5.1"

去掉你不要的,得自己写去掉逻辑,首先继承BaseDataProcessor()

直接看下我的类:

class MyDataProcessor() : BaseDataProcessor<Conversation>() {

    var removeTargetIds :MutableSet<String> = mutableSetOf()

    private val supportedTypes = arrayOf(
        Conversation.ConversationType.PRIVATE,
        Conversation.ConversationType.SYSTEM
    )

    override fun supportedTypes(): Array<Conversation.ConversationType> {
        return supportedTypes
    }

    override fun filtered(p0: MutableList<Conversation>): MutableList<Conversation> {
        // 筛选时不不需要显示的去掉,发消息前和收到消息前添加到SP即可
        removeTargetIds.clear()
        if (Utils.isNotNull(SPNoCleanUtil.getSecretSendSet())) {
            removeTargetIds.addAll(SPNoCleanUtil.getSecretSendSet())
        }

        
        for (index in p0.count()-1 downTo 0){
                for (removeTargetId in removeTargetIds){
                    if (p0[index].targetId == removeTargetId){
                        p0.removeAt(index)
                        break
                    }
                }
            
        }

        return p0
    }

    override fun isGathered(p0: Conversation.ConversationType?): Boolean {
        return false
    }
}

SPNoCleanUtil.getSecretSendSet()就是你要去掉的会话集合

那它怎么用呢

		myDataProcessor = new MyDataProcessor();
        RongConfigCenter.conversationListConfig().setDataProcessor(myDataProcessor);
        //先判断Fragment是否Attach到Activity
        if (isAdded()) {
            mTransaction = getChildFragmentManager().beginTransaction();
            mTransaction.replace(R.id.ll_content, initConversationList());
            mTransaction.commitAllowingStateLoss();
           
        }
    public Fragment initConversationList() {
        if (mListFragment == null) {
            mListFragment = new ConversationListFragmentEx();
        }
        return mListFragment;
    }

这个是关键:

RongConfigCenter.conversationListConfig().setDataProcessor(myDataProcessor);

好了,有问题的欢迎评论或者私信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

893151960

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值