zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android 除了view的监听,其他的监听都要做销毁监听

Android View 监听 其他 除了 销毁
2023-09-14 09:04:29 时间

这里是一个第三方的监听,当你用完后要销毁,销毁的步骤如下

     //接收消息
        RongIMClient.addOnReceiveMessageListener(new OnReceiveMessageWrapperListener() {
            @Override
            public void onReceivedMessage(Message message, ReceivedProfile profile) {
                runOnUiThread(() -> {
                    mChatConversationAdapter.addFirst(message);
                    //接收礼物显示动画
                    MessageContent messageContent = message.getContent();//获取消息内容
                    if (messageContent instanceof GiftMessage) {//如果消息内容是礼物消息
                        GiftMessage giftMessage = (GiftMessage) messageContent;//那就将礼物消息强转为礼物消息
                        onPlayerGiftAimi(giftMessage);//可以这样子
                        onPlayerGiftAimi(((GiftMessage) messageContent));//同上
                        onPlayerGiftAimi(((GiftMessage) message.getContent()));//同上
                    }
                });
            }
        });

1.先将那个对象做成全局
就是将下面的代码框选,然后点击Ctrl+ALt+F
就可以做成全局了

new OnReceiveMessageWrapperListener() {
            @Override
            public void onReceivedMessage(Message message, ReceivedProfile profile) {
                runOnUiThread(() -> {
                    mChatConversationAdapter.addFirst(message);
                    //接收礼物显示动画
                    MessageContent messageContent = message.getContent();//获取消息内容
                    if (messageContent instanceof GiftMessage) {//如果消息内容是礼物消息
                        GiftMessage giftMessage = (GiftMessage) messageContent;//那就将礼物消息强转为礼物消息
                        onPlayerGiftAimi(giftMessage);//可以这样子
                        onPlayerGiftAimi(((GiftMessage) messageContent));//同上
                        onPlayerGiftAimi(((GiftMessage) message.getContent()));//同上
                    }
                });
            }
        }

2.就会自动出现下面这句了,mAddOnReceiveMessageListener就是全局的了

RongIMClient.addOnReceiveMessageListener(mAddOnReceiveMessageListener);

3.当生命周期到了销毁的时候将那个全局一起销毁了mAddOnReceiveMessageListener

    @Override
    protected void onDestroy() {
        //销毁监听
        RongIMClient.removeOnReceiveMessageListener(mAddOnReceiveMessageListener);//add和remove相对应的
        super.onDestroy();
    }

还有一种更高级一点的,就是在BaseActivity里面添加