不能在onDraw方法中调用removeOnDrawListener。
创始人
2024-12-27 10:00:25
0

在onDraw方法中调用removeOnDrawListener是一个错误的做法,因为在onDraw方法中调用removeOnDrawListener会导致ConcurrentModificationException异常。正确的解决方法是在onDraw方法外部调用removeOnDrawListener。

以下是一个示例代码,展示了如何正确地使用removeOnDrawListener:

// 创建一个自定义的View
public class MyView extends View {

    private OnDrawListener mOnDrawListener;

    public MyView(Context context) {
        super(context);
    }

    public void setOnDrawListener(OnDrawListener listener) {
        mOnDrawListener = listener;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        // 在onDraw方法中调用mOnDrawListener的回调方法
        if (mOnDrawListener != null) {
            mOnDrawListener.onDraw();
        }
    }

    public void removeOnDrawListener() {
        mOnDrawListener = null;
    }

    // 定义一个回调接口
    public interface OnDrawListener {
        void onDraw();
    }
}

在使用上述自定义View的代码中,可以通过调用setOnDrawListener方法来设置OnDrawListener的实例,在需要移除监听器时,调用removeOnDrawListener方法来移除监听器:

// 创建自定义View的实例
MyView myView = new MyView(context);

// 设置监听器
myView.setOnDrawListener(new MyView.OnDrawListener() {
    @Override
    public void onDraw() {
        // 在onDraw方法中的回调逻辑
    }
});

// 移除监听器
myView.removeOnDrawListener();

相关内容

热门资讯

透视好友!哈糖大菠萝怎么开挂,... 透视好友!哈糖大菠萝怎么开挂,佛手在线是不是有挂,竟然有挂(wpk教程);1、完成佛手在线是不是有挂...
透视app!德普之星透视辅助软... 透视app!德普之星透视辅助软件激活码,cloudpoker作弊(透视)本然有挂(力荐教程);1)德...
透视有挂!pokemmo辅助工... 透视有挂!pokemmo辅助工具,佛手在线大菠萝为什么都输,确实真的有挂(2025版教程);佛手在线...
透视有挂!wepoker辅助器... 透视有挂!wepoker辅助器,约局吧作弊脚本(透视)原来存在有挂(科技教程);1、约局吧作弊脚本a...
透视科技!xpoker透视辅助... 透视科技!xpoker透视辅助,impoker辅助,确实存在有挂(可靠教程)1、xpoker透视辅助...
透视ai!wepoker私人局... 透视ai!wepoker私人局俱乐部辅助,we poker辅助器(透视)一贯是有挂(解密教程);1、...
透视黑科技!来玩app 德州 ... 透视黑科技!来玩app 德州 辅助,werplan外挂,确实真的是有挂(详细教程)1、构建自己的来玩...
透视数据!wepoker轻量版... 透视数据!wepoker轻量版书签,智星德州可以透视吗(透视)素来是有挂(教你攻略)1、进入到智星德...
透视中牌率!约局吧辅助器,po... 透视中牌率!约局吧辅助器,pokemmo脚本最新版,切实真的是有挂(透明教程);1、打开软件启动之后...
透视总结!wpk安卓下载辅助,... 透视总结!wpk安卓下载辅助,wepoker透视脚本网页(透视)一直是真的有挂(黑科技教程)1、we...