简体   繁体   English

如何在整个Android应用程序中运行countdowntimer?

[英]how to run countdowntimer throughout an application in android?

I am trying to add countdowntimer in my application, i want to run timer for 5 minutes throughout an application without pause and cancel and as well as restart...I have tried several code but I didn't get desired output! 我想在我的应用程序中添加countdowntimer,我想在整个应用程序中运行5分钟的计时器,而不会暂停和取消以及重新启动...我尝试了一些代码,但没有得到想要的输出!

Problem faced: when I'm trying to intent from MainActivity to Main2Activity it works fine but If Main2Activity to MainActivity, timer get's restart! 面临的问题:当我尝试从MainActivity迁移到Main2Activity时,它可以正常工作,但是如果将Main2Activity迁移到MainActivity,则计时器get会重新启动!

//MainActivity.java

public class MainActivity extends AppCompatActivity  {
    Button button;
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button= (Button) findViewById(R.id.button);
        textView= (TextView) findViewById(R.id.id1);
        new CountDownTimer(300000, 1000) { // adjust the milli seconds here

            public void onTick(long millisUntilFinished) {
                textView.setText(""+String.format("%d min, %d sec",
                        TimeUnit.MILLISECONDS.toMinutes( millisUntilFinished),
                        TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
                                TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
            }

            public void onFinish() {
                textView.setText("done!");
            }
        }.start();
        button.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v) {
                Intent in=new Intent(MainActivity.this,Main2Activity.class);
                startActivity(in);
            }
        });
    }
}

//Main2Activity.java

public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        Button btn2= (Button) findViewById(R.id.button2);
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i=new Intent(Main2Activity.this,MainActivity.class);
                startActivity(i);
            }
        });
    }
}

Your Main2Activity is starting a new instance of MainActivity. 您的Main2Activity正在启动MainActivity的新实例。 If you want to return to the original MainActivity, use finish() instead of startActivity() . 如果要返回原始的MainActivity,请使用finish()而不是startActivity()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM