Android view.post () 방법 사용 방법

현재view가attachedToWindow 이후에 실행하려면view의post방법을 사용할 수 있습니다. 방법은 다음과 같습니다.
view.post(new Runnable() {
            @Override
            public void run() {
                
            }
});

 
그run 방법 호출 시기:post 방법은 자동으로 두 가지 상황으로 나뉘어 처리됩니다.View가attachedToWindow가 없을 때, 이 Runnable 조작을 캐시하고,attachedToWindow가 끝난 후에 메인 라인에서 실행됩니다. 그렇지 않으면 mAttach Info.mHandler는 이 Runnable 작업들을 주 라인의MessageQueue에서 실행을 기다리고 있습니다.
밤을 들어라: 정상적인 popupwindow는 activity의 onCreate 방법에서 실행할 수 없습니다. 첨부된view가 윈도에 귀속되었을 때 (attachedTowindow) 표시해야 합니다. 그렇지 않으면 보고합니다.android.view.WindowManager$BadTokenException: Unable to add window --token null is not valid; is your activity running?
그래서 그 포스터 방법을 사용하면 전혀 문제가 없다
View view = find(android.R.id.content);
view.post(new Runnable() {
            @Override
            public void run() {
                //  pop
                pop.showAtLocation(view, Gravity.CENTER,0,0);
            }
});

그리고view.postDelayed도 마찬가지입니다.

좋은 웹페이지 즐겨찾기