-3

アプリで 30 秒間続く単純なカウントダウンを作成してからゲームを終了しようとしていますが、携帯電話にアクティビティが読み込まれるとすぐにアプリがクラッシュします。これがコードです。はい、カウントダウンコードがアプリをクラッシュさせていると確信しています。

public void UpdateTime()
{
    CountDownTimer timer = new CountDownTimer(3000, 100)
    {


        public void onTick(long l)
        {
          Time--;
          tDown.setText(Time);
        }


        public void onFinish()
        {
            GameOver();
        };
    }.start();
}
public void Begin()
{
   UpdateTime();

}
4

2 に答える 2

4

他の人が説明した問題以外に、本当の問題は、次のようにテキストを設定していることです。

tDown.setText(Time);

ここで、Time は整数です。setText() に整数を渡すと、strings.xml で宣言された String リソースが検索されます。あなたが本当に欲しいのは

tDown.setText(""+Time);
于 2012-09-01T00:08:48.997 に答える
0

コードに次のタイプミスがあります。

  • 余分なセミコロン
  • 明示的なstart()呼び出し

また、Androidが呼び出しで指定したIDのTextViewを見つけられなかった場合に、tDown変数がこれに該当しないことを確認してくださいnullfindViewById()

次のようにコードを変更してみてください。

public void UpdateTime()
{
    CountDownTimer timer = new CountDownTimer(30000, 1000)
    {
        public void onTick(long l)
        {
            Time--;
            tDown.setText(Time);
        }


        public void onFinish()
        {
            GameOver();
        }
    }
    timer.start();
}
public void Begin()
{
   UpdateTime();
}
于 2012-08-31T23:39:59.803 に答える