0
所以,使用回调困惑,我希望有人能够希望帮助我:)。我做了一个快速的自定义视图,使用回调来标记我的活动一旦完成。android - 从视图中删除自定义回调?
import android.content.Context;
import android.graphics.Canvas;
import android.view.View;
public class CustomViewCallBackTest extends View {
AfterDraw callback;
public interface AfterDraw {
public void afterViewDrawn(Object myEventData);
}
public void setAfterDrawListener(AfterDraw callback) {
this.callback = callback;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//callback.afterViewDrawn(myEventData);
}
public CustomViewCallBackTest(Context context) {
super(context);
}
}
,在我的活动我设置的一切行动这样的:
CustomViewCallBackTest tbt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tbt.setAfterDrawListener(new AfterDraw() {
@Override
public void afterViewDrawn(Object myEventData) {
// TODO Auto-generated method stub
}
});
}
所以我有一个回调,我可以很容易使用,我的问题是如何将我删除此回调?像android这样的东西就是GlobalLayoutListener(即getViewTreeObserver()。removeOnGlobalLayoutListener(this))。我已经看到了一些解决方案,即从处理程序中删除回调(like here),但我还不够熟悉,无法知道如何将任何应用应用于我的情况。我会很感激,如果有人能告诉我如何删除我自己的自定义回调=)
哈哈真的吗?在这里,我想我不得不做一堆新代码,并像globallayoutlistener一样去除它。我会给这个镜头,谢谢=) – codingNewb