2011-11-28 3 views
0

私は自分のプログラムを開発していますが、TextView.XDに関しては本当に苦労しています。 スコアボードのように。割り当てられたTextViewをクリックするとスコアの値が上がります。TextViewの値を大きくします。 0クリック数+1

これは私のコードです:

private OnClickListener mHscoreListener = new OnClickListener() { 
    public void onClick(View v) { 
     //DO INCREASE 
     h1++; 
     TextView HScore = (TextView) findViewById(R.id.hscore); 
     HScore.setText(h1); 
    }; 
}; 

上記のコードは動作していないと私は理由を知りません。

+0

コードを投稿する必要があります。ボタンのonClickListenerを.setOnClickListener()で設定しましたか? –

答えて

1

を使用する必要があります。

この方法を試す HScoreとh1をクラス変数として定義します。

HScore = (TextView) findViewById(R.id.hscore); 
OnClickListener mHscoreListener = new OnClickListener() 
{ 
    public void onClick(View v) 
    { 
    // DO INCREASE 
    h1++; 
    HScore.setText(h1 + ""); 
    }; 
}; 
HScore.setOnClickListener(mHscoreListener); 
+0

ありがとう!それはX作品) – Mineko

+0

@キャサリン猶予Balauro :)喜び – AB1209

0

h1はどのタイプですか?

あなたは私はあなたがTextViewのHScoreにonClickListener設定すべきだと思うh1.toString()

private OnClickListener mHscoreListener = new OnClickListener() { 
    public void onClick(View v) { 
     //DO INCREASE 
     h1++; 
     TextView HScore = (TextView) findViewById(R.id.hscore); 
     HScore.setText(h1.toString()); 
    }; 
}; 
+0

文字列の場合、 '++'演算子はその文字列で動作しません。それがintの場合、 'setText()'はそれをパラメータとして受け付けません。 (エラーメッセージを読むのが面倒であれば、コンパイラはこれが問題だと伝えます。) – bdares

+0

h1は整数です。 hscoreの値は0です。私はあなたがtextview:hscoreをクリックすると+1を増やしたいと思っています。それは可能ですか?文字列をintに変換します。 intを文字列に変換する。ありがとう – Mineko

+0

キャサリン、上記の 'toString()'メソッドを 'setText()'で試して、 'int'の' String'値を取得してください。 –

関連する問題