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