2011-06-03 11 views
0

私のアプリケーションでRandom()関数を使用しています。ボタンをクリックすると、私のbutton.Butのテキストとして0〜8の範囲の乱数を表示する必要がありますこのボタンをクリックすると、プログラムがクラッシュすることになります。私のコードスニペットは以下の通りです。Random()関数を使用するとプログラムがクラッシュする

Random scorenumber=new Random(); 
OnClickListener clickball=new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      score=scorenumber.nextInt(8); 
      id=v.getId(); 

         if(id==R.id.ball2) 
      { 
       ball2.setText(score); 
      } 
      else if(id==R.id.ball3) 
      { 
       ball3.setText(score); 
      } 
} 
+0

ここ – ingsaurabh

+0

06-03 11あなたのlogcatを投稿:45:47.875:ERROR/AndroidRuntime(778):android.content.res.Resources $ NotFoundException:私のonclickのリスナーがworking.iがあることをチェックしている –

答えて

0

ここにはvoid setText (int resid)が呼び出されています。これは、score変数の内容と同じIDの文字列リソースがAndroidで見つからない場合にクラッシュします。 setText(Integer.toString(score));を使用してください。

+0

ありがとうございました.....多くの問題が解決しました....私はとても幸せです。 –

+0

うれしいことに助けてくれました。 –

0

まず、XML文書でonClick属性を使用する傾向があります。それはあなたがする必要があることを意味するものではありませんが、私はそれが私のコードをよりきれいにすることがわかった。

android:onClick="button" 

私のJavaは、私の方法を開始するためにこのように見えるでしょう。

public void button(View v){ 
    //Stuff goes here. 
} 

私はこれがあなたのボタンが壊れていると思うからだと言います。それが何か他のことをしてみてください。 1から数えてみましょう。失敗した場合は、ボタンが悪いです。それがうまくいくならば、あなたは乱数をコードするのに間違っています。私はあなたがしようとしていることを理解できないようです。

これについて。あなたはボール3とボール2をどこで得ていますか?スコアナンバーはいつそれらに当たっていますか?

+0

文字列リソースのID番号0x0の... –

+0

R.id.ball2とは何ですか?とボール3? – Funlamb

関連する問題