2012-04-12 3 views
1

を設定し、私は位置に設定トグルボタンを持つアンドロイドトグルボタンの状態がtexviewテキスト

「キロ」

に私のTextViewのいずれかにヒントを設定します。 テキストビューの最初のヒントは、トグルがオフ位置にある場合に表示されるべき

「ST」です。

私は最初、今私はトグルにそれを押したときに(トグルがオフの位置にあるよう最初にOKである)のTextViewのdispalys

「ST」

アプリを起動上の位置になり、

"キロ"

を表示TextViewに(これもOKです。)

は今問題にしています。私は(位置オフ)、再びトグルをクリックするとTextViewには

は、誰もが、私はそれは常にキロ「オフ状態とでST」を表示するように設定することができます方法を知っているん

「キロ」としてとどまります"状態にインチ事前に

多くのおかげ

addListenerOnButton(); 

     } 

     public void addListenerOnButton() { 

     unitToggle = (Button) findViewById(R.id.unitToggle); 
     final TextView tw1 = (TextView)findViewById(R.id.tw1); 


     unitToggle.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 

       StringBuffer result = new StringBuffer(); 
       tw1.setHint("kg"); 

答えて

1
unitToggle.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 

      StringBuffer result = new StringBuffer(); 
      if(tw1.getHint().toString().equals("kg")) 
       tw1.setHint("st");    
      else 
       tw1.setHint("kg"); 
+0

を試してみてください。これは働いた –

0

メインレアこの問題のための息子は、まだ実装されていないロジックです。

最初にボタンをクリックすると、テキストが「kg」に設定されます。これは、常にクリック数に設定されます。あなたがこのステートメントを書いたからです。

tw1.setHint( "kg");

ボタンの状態を保持せずにonClick()メソッド内にあります。 強調されたテキスト

正しいようにするには、ブールフラグを使用し、クリックごとにその状態を変更し、フラグ値に基づいてテキストを設定します。

これを行う最も良い方法は、onbuilt on/off状態を持つToggleButtonを使用することです。このため、onブール値フラグを設定し、ボタンの状態に基づいてヒントを設定する必要はありません。

0

はあなたに感謝

private boolean on=false; 

unitToggle.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 

      StringBuffer result = new StringBuffer(); 
      if(on){ 
       tw1.setHint("kg"); 
       on = true; 
      }else{ 
       tw1.setHint("st"); 
       on = false; 
      } 
関連する問題