匿名内部类中的this,如何在lambda中获得?

nsv_productdetail.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                int bottomMargin = ((ViewGroup.MarginLayoutParams) nsv_productdetail.getLayoutParams()).bottomMargin;
                nsv_productdetail.getViewTreeObserver().removeOnGlobalLayoutListener(this);
            }
        });

上方代码要是转换成lambda时,this就会指向外部类,这时候就不能移除监听了。
所以我想请问下,匿名内部类(可以转换为lambda的匿名内部类),如何在lambda中获得其本身?

阅读 5.3k
1 个回答

做不到的,Lambda本身不是对象。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题