如何从倒计时的onFinish方法开始活动?

时间:2014-03-19 17:55:47

标签: android android-intent

我是Android开发的新手,我在这里遇到了问题。

我想在倒计时结束时启动一项活动(另一个班级)。

编辑:

Eclipse告诉我代码不起作用,用红色标记我的部分代码。

问题不是来自“宣言”等,我只是无法弄清楚如何实施我的其他活动的召唤。

/编辑

这是我的代码:

public static void launch_countdown(final TextView tv1){
    new CountDownTimer(30000, 1000) {

         public void onTick(long millisUntilFinished) {
             tv1.setText("" + millisUntilFinished / 1000);
         }

         public void onFinish() {
             /* I want to launch my Activity here */
         }
    }.start();
} 

基本上,我该怎样替换我的评论?

PS:我做了一些研究,但它似乎在我的情况下不起作用:

How to call an activity from a CountDownTimer?

Android finish Activity and start another one

How to start an activity upon the completion of a timer?

1 个答案:

答案 0 :(得分:1)

如果您在活动中创建此CountdownTimer,则应该可以执行此操作:

public void onFinish() {
    Intent i = new Intent(getApplicationContext(), OtherActivity.class);
    startActivity(i);
    finish(); // if you want this activity to go away
}

(如果您愿意,可以将getApplicationContext()替换为CurrentActivity.this。您不能使用裸this,因为它引用了匿名CountDownTimer子类的当前实例onFinish()属于。)

如果此代码在某个其他类中,则您需要访问第一个参数的Context。例如,您可以使用tv1.getContext()

或者,您可以使用不需要Intent的其他Context构造函数之一。有关详细信息,请参阅API docs