1

我正在尝试制作一个游戏,您可以对敌人造成伤害,而他可以造成伤害。每当有人受到攻击时,我都想展示他的健康状况。这是我所拥有的:

    TextView playerhealth = (TextView) findViewById(R.id.PlayerHealth); 
        playerhealth.setText("Player Health:" + player_health);
    TextView enemyhealth = (TextView) findViewById(R.id.EnemyHealth); 
        enemyhealth.setText("Enemy Health:" + enemyone_health);

但是,损坏完成后文本不会更新,我不知道如何解决这个问题。有人可以帮忙吗?

4

3 回答 3

1

似乎您在找到 TextView 后立即设置文本意味着您立即覆盖原始值。

你需要找到 TextView,然后做一些损害你的 Player/Enemy 的事情,然后用你剩下的新值更新 TextView。

尝试设置一个值,然后休眠几秒钟,然后将其应用于您的 TextView 并查看是否有帮助。

于 2013-07-30T04:54:00.170 回答
0

在变量值更改后做一件事为您的文本视图设置文本

喜欢:

player_health =您对变量的操作,然后

playerhealth.setText("Player Health:" + player_health);

enemyone_health =您对变量的操作,然后

enemyhealth.setText("Enemy Health:" + enemyone_health);
于 2013-07-30T04:10:17.897 回答
0

更新 TextView 后尝试:

findViewById(R.id.PlayerHealth).invalidate(); // May not be necessary
findViewById(R.id.PlayerHealth).requestLayout(); 

然后在更新该 TextField 后再次为enemyhealth 执行此操作。

于 2013-07-30T04:15:30.817 回答