「alertDialog」を表示するには、健康状態が 20 を下回った後、毎秒「1」ずつ健康状態が低下するようにする必要があります。コードにエラーはありません。「ヘルス」が境界/制限を超えた後、問題がクラッシュしています。アプリケーションがクラッシュしています。なぜそれが起こっているのかわかりません。助けてくれる人はいますか? また、ブール値を使用した「alertDialog」の一度のショーがあることを確認しますが、役に立ちません...アドバイスに感謝します:)
コード:
new Timer().schedule(new TimerTask() {
@Override
public void run() {
Health -= 1;
if (Health <= 20) {
if (!canSeeWarnDialog) {
final AlertDialog alertDialog2 = new AlertDialog.Builder(
MainActivity.this).create();
alertDialog2.setTitle("Im hungry");
alertDialog2.setMessage("The dog health is going low "
+ "\ngive him some food");
alertDialog2.setButton("Got it",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
alertDialog2.cancel();
}
});
alertDialog2.show();
canSeeWarnDialog = true;
return;
}
}
}
}, 1000, 1000);//TimeUnit.SECONDS.toMillis(1));