2011-12-29 27 views
58

私はちょうどchanged the background of a ToggleButtonとなりましたが、今はそれに対応するオン/オフテキストを変更したいと考えています。これを行う最も簡単な方法は何ですか?次を使用し、XMLを使用してテキストを設定するにはトグルボタンのオン/オフテキストを変更します。Android

toggleButton.setText(textOff); 
// Sets the text for when the button is first created. 

toggleButton.setTextOff(textOff); 
// Sets the text for when the button is not in the checked state. 

toggleButton.setTextOn(textOn); 
// Sets the text for when the button is in the checked state. 

答えて

162

あなたは、コードからテキストを設定するには、以下を使用することができます

android:textOff="The text for the button when it is not checked." 
android:textOn="The text for the button when it is checked." 

この情報はhere

+1

のために参照してください変更することができますsamsungとhtcの電話 – Serafins

+2

Serafins、それは正しくありません。それはサムスンとHTCの携帯電話で動作します。 – interrupt

+3

オンとオフのテキストをプログラムで更新するとき、ボタンは新しいテキストで再描画されません。 setChecked(toggleButton.isChecked)を呼び出すことで強制的に再描画を行うことができます。ばかばかしいですが、再描画を強制するためのハックです。 [このstackoverflowの回答](http://stackoverflow.com/a/3792554/2590478)を参照してください。 – MidasLefko

14
からです

リンク先の例では、android:textOnandroid:textOff

を使用して昼/夜に変更していますXMLを設定し
+0

私は以前に見たことのない別の質問に実際にリンクしました。私自身の質問で答えを指摘してくれてありがとう。 – styler1972

6

:あなたがもはやtoggleButton.setTextOff(textOff)を必要と表示されません

<ToggleButton 
    android:id="@+id/flashlightButton" 
    style="@style/Button" 
    android:layout_above="@+id/buttonStrobeLight" 
    android:layout_marginBottom="20dp" 
    android:onClick="onToggleClicked" 
    android:text="ToggleButton" 
    android:textOn="Light ON" 
    android:textOff="Light OFF" /> 
1

。 and toggleButton.setTextOn(textOn);各トグル状態のテキストは、単に関連するXML特性を含むだけで変更されます。これにより、デフォルトのON/OFFテキストが上書きされます。

<ToggleButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/toggleText" 
    android:textOff="ADD TEXT" 
    android:textOn="CLOSE TEXT" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="10dp" 
    android:visibility="gone"/> 
関連する問題