第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

不能從另一個(gè)線(xiàn)程調(diào)用constraintLayout.remove();

不能從另一個(gè)線(xiàn)程調(diào)用constraintLayout.remove();

縹緲止盈 2021-11-03 14:13:43
假設(shè)我有ImageView一個(gè)單擊 a 即可執(zhí)行的操作Button: final ImageView ball = new ImageView(v.getContext()); ball.setImageResource(R.drawable.ball_1); gameConstraintLayout.addView(ball);當(dāng)我單擊該按鈕時(shí),它首先使球出現(xiàn),創(chuàng)建并運(yùn)行另一個(gè)線(xiàn)程,告訴自己休眠 1000 毫秒,sleep(long millis)然后通過(guò)調(diào)用移除球ConstrainLayout.removeView(view)這是完整的最小代碼:        final ImageView ball = new ImageView(v.getContext());        currentBullet.setImageResource(R.drawable.ball_1);        gameConstraintLayout.addView(ball);        ballAppears.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(final View v) {            final ImageView ball = new ImageView(v.getContext());            currentBullet.setImageResource(R.drawable.ball_1);            gameConstraintLayout.addView(ball);            Thread thread = new Thread() {                @Override                public void run() {                    try {                        sleep(1000);                        contraintLayout.removeView(ball)                    } catch (InterruptedException e) {                        e.printStackTrace();                    }            });        }    });問(wèn)題是;球出現(xiàn)在屏幕上,另一個(gè)線(xiàn)程成功休眠了 1000 毫秒,但是,當(dāng)它試圖從另一個(gè)線(xiàn)程的約束布局中移除球時(shí),它崩潰了。日志貓:    android.view.ViewRootImpl$CalledFromWrongThreadException: **Only the original thread that created a view hierarchy can touch its views**.  at  android.support.constraint.ConstraintLayout.removeView(ConstraintLayout.java:645)    at  com.mobilegames.***.******.GameActivity$1$1.run(GameActivity.java:51)導(dǎo)致問(wèn)題的代碼是:gameConstraintLayout.removeView(ball_1);看起來(lái),我無(wú)法從另一個(gè)線(xiàn)程訪(fǎng)問(wèn)約束布局,但是,我仍然可以更改球的 X 和 Y。我什至嘗試在 UI theard 中運(yùn)行那段代碼runOnUIThread(...),但無(wú)濟(jì)于事。任何可能的解決方案?請(qǐng)記住,我每秒都會(huì)更改球的 X 和 Y。是的,我確實(shí)檢查了其他問(wèn)題。那些答案中說(shuō)只是在 UI 線(xiàn)程上運(yùn)行它,但當(dāng)然我已經(jīng)嘗試過(guò)了。如果我將睡眠(長(zhǎng)毫秒)運(yùn)行到 UI 線(xiàn)程中,顯然,整個(gè)應(yīng)用程序?qū)⑹遣回?fù)責(zé)任的。(這不是完整的應(yīng)用程序;它被分解為一個(gè)更簡(jiǎn)單易懂的問(wèn)題。我最終在單獨(dú)的線(xiàn)程中更改了球的 X 和 Y,但這就是導(dǎo)致問(wèn)題的原因。請(qǐng)?jiān)谠u(píng)論中告訴我,如果需要編輯)抱歉小語(yǔ)法錯(cuò)誤
查看完整描述

1 回答

?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

使用處理程序延遲執(zhí)行您的操作。例如:


Handler h = new Handler();

h.postDelayed(new Runnable() {

   public void run() {

       gameConstraintLayout.removeView(currentBullet);

   }

}, 1000);  // here 1000 is delay in milliseconds (1sec)


查看完整回答
反對(duì) 回復(fù) 2021-11-03
  • 1 回答
  • 0 關(guān)注
  • 130 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)