gpt4 book ai didi

java - 如何在 android 上执行连续检查另一个类的返回值?

转载 作者:行者123 更新时间:2023-12-01 07:35:16 25 4
gpt4 key购买 nike

我想在 Android 线程中执行检查,以检查另一个类中方法的返回值。这是到目前为止我的代码:

public class HelloWorldAndroid extends AndroidApplication {

private MyGame myGame;

@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

**********Other lines Omitted***********

myGame = new MyGame(false, 30, new AndroidLeaderboard());


//check to see if the game is over
Thread background = new Thread(new Runnable() {

@Override
public void run() {
if (myGame.gameOver()) {


//if the game is over go to another screen
startActivity(new Intent(HelloWorldAndroid.this, MainActivity.class));

}
}

});
background.start();
}

我尝试使用处理程序来实现此功能,但它只是不执行检查,因此当值为 true 时它仍然会运行。有谁知道我如何在该线程的运行过程中连续执行检查 myGame.gameOver() = true (这样我就可以继续进行不同的 Activity )。

我在这个问题上绞尽脑汁好几天了,但还是一无所获:S欢迎任何想法。

最佳答案

为什么不创建某种监听器(接口(interface))?

小而基本的例子,

myGame = new MyGame(false, 30, new AndroidLeaderboard());
myGame.setGameOverListener(this);

注意:您不需要 setGameOverListener 方法,您还可以更改构造函数以具有监听器参数。

监听器看起来像这样:

interface GameOverListener {
abstract public void notifyGameOver();
}

并在 MyGame 对象中创建一个方法:

setGameOverListener(GameOverListener gol){
this.gol = gol;
}

您的 Activity 将实现该监听器,并在 notifyGameOver() 方法中打开该 Activity。

像这样:

public void notifyGameOver(){
startActivity(new Intent(HelloWorldAndroid.this, MainActivity.class));
}

要通知游戏结束,只需让 MyGame 对象调用 notifyGameOver() 方法即可:

gol.notifyGameOver();

关于java - 如何在 android 上执行连续检查另一个类的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12941654/

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