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

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

在添加和刪除 TextView 之間暫停程序

在添加和刪除 TextView 之間暫停程序

蠱毒傳說 2023-10-12 17:20:24
我正在開發(fā)一款坦克游戲,我有一個(gè)TextView代表射擊的游戲。現(xiàn)在我想TextView在特定點(diǎn)顯示 并在一秒鐘后將其刪除,看起來鏡頭一步一步走得更遠(yuǎn)。但是,當(dāng)我添加倒計(jì)時(shí)或 a 時(shí),Thread.sleep程序會(huì)停止一秒鐘,但TextView不會(huì)消失。我想將 TextView 移動(dòng)到屏幕上,并且在 for 循環(huán)的每次迭代之后我想等待一秒鐘,然后再次重新排列它?這是代碼: public void shot(float power, float winkel, Button button) {        if(winkel>90) {            winkel = winkel - 10;        }else if(winkel<90){            winkel = winkel +10;        }        for (double i = 0; i<100;i = i+ 1) {            final TextView textView = new TextView(context);            textView.setText(".");            double x = tanks.get(currentTank).getxPos()+(i*power*Math.cos(winkel *(Math.PI/180)));            double y = tanks.get(currentTank).getyPos()+(-1*(i*power*Math.sin(winkel *(Math.PI/180))));            double gravity = (-1*((9.81/2)*Math.pow(i,2)));            y = (y-gravity);            textView.setX((float) x);            textView.setY((float) y);            layout.addView(textView);            for (int j = 0;j<tanks.size();j++){                if(textView.getX()>tanks.get(j).getxPos()&&textView.getX()<tanks.get(j).getxPos()+100){                    if(textView.getY()>tanks.get(j).getyPos()&&textView.getY()<tanks.get(j).getyPos()+100){                        float k = tanks.get(j).getxPos()-textView.getX();                        if(k<0){                            k = k*-1;                        }                        makeDamage(k,tanks.get(j));                    }                }            }            new CountDownTimer(2000,1000){                @Override                public void onTick(long millisUntilFinished) {                }                @Override                public void onFinish() {                    layout.removeView(textView);                }            }.start();        }        newTurn();    }我想在添加一秒鐘后暫停程序TextView并將其刪除。程序停止,但TextView直到 for 循環(huán)完成才消失。然后全部TextViews消失。
查看完整描述

2 回答

?
嚕嚕噠

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

問題解決了: 我已經(jīng)添加了數(shù)組中的所有位置,然后這個(gè)


public void drawShot(final Button firework, final ArrayList<TextView> toDraw){

    final int[] i = {0};

    final Handler mHandler = new Handler();


    firework.setOnClickListener(new View.OnClickListener() {

        @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)

        @Override

        public void onClick(View v) {

            firework(firework,toDraw.get(i[0]).getX(),toDraw.get(i[0]).getY());

        }

    });



    Runnable runnable = new Runnable() {

        @Override

        public void run() {


                layout.addView(toDraw.get(i[0]));

                if(!check(toDraw.get(i[0]))) {

                    mHandler.postDelayed(this, (long) 1);

                }

                i[0]++;


        }

    };


    // start it with:

    mHandler.post(runnable);


}


查看完整回答
反對 回復(fù) 2023-10-12
?
炎炎設(shè)計(jì)

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

可能需要在主線程上運(yùn)行刪除命令


Handler mainHandler = new Handler(context.getMainLooper());


Runnable myRunnable = new Runnable() {

    @Override 

    public void run() {

       layout.removeView(textView);

    } 

};

mainHandler.post(myRunnable);


查看完整回答
反對 回復(fù) 2023-10-12
  • 2 回答
  • 0 關(guān)注
  • 139 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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