VIEW.SETVISIBILITY

setVisibility 有時不能及時顯示

這種情況一般是在UI線程之后跟了比較耗時的任務,
需要開啟子線程,在子線程中執(zhí)行耗時任務,方能使view 的 setVisibility 正常顯示隱藏

主線中代碼執(zhí)行

public void mainThread(){
view.setVisibility(View.VISIBLE);
  startThread();
}

子線程中代碼

Thread thread = new Thread(new Runnable(){
public void run(){
///耗時任務
  dealHaoshiTask();

//耗時任務執(zhí)行完 發(fā)送給handler
 Message message = new Message();
  message.obj = "隱藏";
   message.what = 1;
  mHandler.sendMessage(message);
}
});
thread.start();

handler中代碼

    private Handler mHandler = new Handler(new Handler.Callback() {
        @Override
        public boolean handleMessage(@NonNull Message message) {
            switch (message.what) {
                case 1:
                   //handler中隱藏view
                    loadingView.setVisibility(View.GONE);
                    break;
                default:
                    break;
            }
            return false;
        }
    });

耗時任務

public void dealHaoshiTask(){

}
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容