gpt4 book ai didi

java - 通过处理程序调用 Activity 内的另一个 Activity 函数不起作用

转载 作者:行者123 更新时间:2023-12-01 14:38:11 24 4
gpt4 key购买 nike

我想从另一个 Activity 启动 CountDownTimer。我使用处理程序来做到这一点,但它不起作用。我哪一部分做错了?这是我的代码:

activity1.java:

public class Activity1 extends Activity {
public static Handler mHandler;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initHandler();
mHandler.sendEmptyMessage(1);

startActivity(new Intent(Activity1.this, Activity2.class));
}

private void initHandler(){
mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.arg1) {
case 1:
mCountDownTimer.start();
break;
}
}
};
}

private CountDownTimer mCountDownTimer = new CountDownTimer(10000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
Toast.makeText(Activity1.this, "Count is: "+ millisUntilFinished/1000, Toast.LENGTH_SHORT).show();
}

@Override
public void onFinish() {
// TODO Auto-generated method stub

}
};
}

activity2.java:

public class Activity2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Activity1.mHandler.sendEmptyMessage(1);

}
}

为什么这不起作用?

最佳答案

在您的 initHandler() 方法中,将 switch 情况下的条件从 switch (msg.arg1) 更改为 switch (消息.what)

根据Android Developer site sendEmptyMessage(int) 发送一条仅包含 What 值的消息。

关于java - 通过处理程序调用 Activity 内的另一个 Activity 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16272826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com