Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 倒计时启动按钮_Java_Android_Button_Countdowntimer_Android Timepicker - Fatal编程技术网

Java 倒计时启动按钮

Java 倒计时启动按钮,java,android,button,countdowntimer,android-timepicker,Java,Android,Button,Countdowntimer,Android Timepicker,我发现倒数计时器的开始按钮有问题:按下按钮后计时器无法启动。我该如何解决这个问题 我想按按钮按钮count启动计时器。 有人能帮我吗 int clicks = 0; TextView textCount; ImageButton buttonCount; int guessCount =0; boolean started = false; boolean timerProcessing = false; private CountDownTimer count; protected vo

我发现
倒数计时器的开始按钮有问题:按下按钮后计时器无法启动。我该如何解决这个问题

我想按按钮
按钮count
启动计时器。 有人能帮我吗

int clicks = 0;
TextView textCount;
ImageButton buttonCount;
int guessCount =0;
boolean started = false;
boolean timerProcessing = false;
private CountDownTimer count;



protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_newgame);

        count = new CountDownTimer(15000, 1000) {
            public void onTick(long millisUntilFinished) {
                int seconds = (int) ((millisUntilFinished / 1000));
                textic.setText("Time Left: " + millisUntilFinished / 1000);
            }

            public void onFinish() {
                textic.setText("Time's Up!");
                buttonCount.setEnabled(false);
                if (clicks > oldscore)
                    getSharedPreferences("myPrefs", MODE_PRIVATE).edit().putInt("highscore", clicks).commit();
            }
        };

        final int oldscore = getSharedPreferences("myPrefs", MODE_PRIVATE).getInt("highscore", 0);
        final TextView textView = (TextView) findViewById(R.id.applesEaten);

        buttonCount = (ImageButton) findViewById(R.id.button);
        buttonCount.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {
                clicks++;
                textView.setText("Clicks: " + clicks);
                TextView textView = (TextView) findViewById(R.id.topScoreView);
                textView.setText("Best: " + oldscore);

                if(!started){
                    count.start();
                    started = true;
                    timerProcessing = true;
                }
            }
        });
        final TextView textic = (TextView) findViewById(R.id.textView2);
    }

在我看来,这才是你真正想要做的:

    private int clicks = 0;
    private TextView textCount;
    private ImageButton buttonCount;
    private int guessCount = 0;  
    private CountDownTimer count; // RENAMED     
    private boolean started = false; // FALSE. 
    private boolean timerProcessing = false;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_newgame);

        count = new CountDownTimer(15000, 1000) { // MOVED UP
            public void onTick(long millisUntilFinished) {
                int seconds = (int) ((millisUntilFinished / 1000));
                textic.setText("Time Left: " + millisUntilFinished / 1000);
            }

            public void onFinish() {
                textic.setText("Time's Up!");
                buttonCount.setEnabled(false);
                if (clicks > oldscore)
                    getSharedPreferences("myPrefs", MODE_PRIVATE).edit().putInt("highscore", clicks).commit();
            }
        };


        final int oldscore = getSharedPreferences("myPrefs", MODE_PRIVATE).getInt("highscore", 0);
        final TextView textView = (TextView) findViewById(R.id.applesEaten);

        buttonCount = (ImageButton) findViewById(R.id.button);
        buttonCount.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {
                clicks++;
                textView.setText("Clicks: " + clicks);
                TextView textView = (TextView) findViewById(R.id.topScoreView);
                textView.setText("Best: " + oldscore);

                if(!started){
                    count.start(); // START COUNTDOWN TIMER
                    started = true;
                    timerProcessing = true;

                }

            }
        });
        final TextView textic = (TextView) findViewById(R.id.textView2);


    }
如果您真的想启动另一个倒计时,而不是您在底部创建的倒计时(名为count)。然后您需要实例化它并设置它的行为,就像您为另一个CountownTimer所做的那样

此外,您使用的所有变量都需要在之前创建(textic、oldscore)