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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法正確使用Handler

無法正確使用Handler

藍山帝景 2022-06-15 09:37:30
我開始學習安卓開發(fā)。我正在構(gòu)建一個基本的加法游戲,用戶必須單擊顯示兩個數(shù)字相加的按鈕。有四個 Textviews。第一個給出time limit每個要回答的問題。二是給question用戶。第三個給出current score用戶的,最后一個給出選擇的打開是正確的還是不正確的。除第一個按鈕外,一切正常。每次按下按鈕時,計數(shù)都會非??臁?/ When First button is pressedpublic void onClickButton1(View view) {        correctIncorrect.setVisibility(View.VISIBLE);        if (Integer.parseInt(button1.getText().toString())==sum) {            correctIncorrect.setText("Correct");            correctUpdater();        }        else {            correctIncorrect.setText("Incorrect");            inCorrectUpdater();        }}//Similar to all the buttons//To Update the scorepublic void correctUpdater() {        n++;        yourScore++;        score.setText(Integer.toString(yourScore) + "/" + Integer.toString(n));        update();}public void inCorrectUpdater() {    n++;    score.setText(Integer.toString(yourScore) + "/" + Integer.toString(n));    update();}// To update the timer//=======================================================================//    public void resetTimer() {        timer.setText(Integer.toString(temp)+"s");        if (temp == 0) {            inCorrectUpdater();            update();        }        else {            timeUpdater();        }    }    public void timeUpdater() {        Handler timeHandler = new Handler();        Runnable timeRunnable = new Runnable() {            @Override            public void run() {                temp--;                resetTimer();            }        };        timeHandler.postDelayed(timeRunnable,1000);    }我是否錯誤地使用了處理程序?我能做些什么?
查看完整描述

1 回答

?
qq_花開花謝_0

TA貢獻1835條經(jīng)驗 獲得超7個贊

我是否錯誤地使用了處理程序?我能做些什么?


更好的方法是CountDownTimer,通過使用它,您不必自己處理Handler并且您還可以取消正在運行的 CountDownTimer。


除第一個按鈕外,一切正常


不太確定在 onClick() 中使用相同代碼單擊按鈕時會導致不同行為的原因。但是您可以考慮對所有 4 個按鈕使用相同的onClickListener,這樣:


View.OnClickListener myListener = new View.OnClickListener() {

        @Override

        public void onClick(View button) {

            correctIncorrect.setVisibility(View.VISIBLE);

            if (Integer.parseInt(button.getText().toString())==sum) {

                correctIncorrect.setText("Correct");

                correctUpdater();

            }

            else {

                correctIncorrect.setText("Incorrect");

                inCorrectUpdater();

            }

        }

    };


button1.setOnClickListener(myListener);

button2.setOnClickListener(myListener);

button3.setOnClickListener(myListener);

button4.setOnClickListener(myListener);

這將確保單擊 4 個按鈕中的任何一個都具有相同的行為(當然取決于答案)


如果您對 CountDownTimer 上的 onTick() 方法感到困惑,您可以使用修改后的 CountDownTimer,這將確保計時器不會錯過任何滴答聲。


查看完整回答
反對 回復 2022-06-15
  • 1 回答
  • 0 關(guān)注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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