活动一直在运行?

时间:2014-10-24 23:13:19

标签: android timer activity-finish

嘿,我遇到了我的程序问题。我想要一个包含计时器内的计时器和退出按钮的布局。我已经成功完成了计时器,但问题出在我认为的退出按钮编码中。

这是我的代码:

package com.MyCompany.MyApp;

import android.app.Activity;
import android.content.Intent;
import android.content.Context;
import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.MyCompany.MyApp.R;


public class Class1 extends Activity implements OnClickListener
    {
    Button btn_exit;
    Intent i = new Intent(this, Class2.class);
    Handler handler;
    protected Context context = this;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        handler = new Handler();
        setContentView(R.layout.activity_class1);


        btn_exit = (Button)findViewById(R.id.btn_exit);
        btn_exit.setOnClickListener(this);

        final TextView text4 = (TextView) findViewById(R.id.timer);

        btn_exit.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {


                    finish();


        }
        });

        new CountDownTimer(45000, 1000) {

             public void onTick(long millisUntilFinished) {
                 text4.setText("Seconds remaining: " + millisUntilFinished / 1000);
             }

             public void onFinish() {
                 text4.setText("Time's up!");

                 new CountDownTimer(3000, 1000) {

                     public void onTick(long millisUntilFinished) {

                     }
                     @Override
                     public void onFinish() {


                         Intent intent1 = new Intent(context, Class2.class);
                           startActivity(intent1);}

                  }.start();

             }
          }.start();

    }

    @Override
    public void onClick(View v) {


        }
    }

当我运行应用程序并观察计时器一直下降到零时,第二个计时器启动并从三个计数器开始倒计时,然后程序完成当前活动并切换到下一个计时器。这一切都很好,但是让我说我​​运行应用程序,看着计时器停机,但我决定在任何时候点击退出按钮,即使它退出屏幕并完成活动,计时器仍然进入倒计时和切换到Class2。我怎么能阻止它呢?

1 个答案:

答案 0 :(得分:0)

你可以做的是创建一个全局布尔变量,例如" ThisActivityExits",在你的点击监听器上你可以改变变量的值,你可以创建和"如果"在你的计时器内停止它。