1

オンの位置に設定すると、ヒントをテキストビューの1つに設定するトグルボタンがあります

"kg"

. テキストビューの最初のヒントは

「st」

トグルがオフの位置にある場合に表示されます。

アプリを初めて起動すると、テキストビューが表示されます

「st」

(トグルがオフの位置にあるので、最初は問題ありません)トグルを押すと、オンの位置に変わり、表示されます

"kg"

textView で (これも問題ありません。)

今問題が来ます。トグルをもう一度クリックすると(オフの位置)、textViewはそのままになります

"kg"

オフ状態で「st」、オン状態で「kg」を常に表示するように設定する方法を知っている人はいますか。

よろしくお願いします

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");
4

3 に答える 3

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");
于 2012-04-12T10:14:19.880 に答える
0

上記の問題の主な理由は、まだ実装されていないロジックです。

ボタンを初めてクリックすると、テキストが「kg」に設定され、何度クリックしても常に設定されます。あなたが声明を書いたので、

tw1.setHint("kg");

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

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

これを行う最善の方法は、組み込みのオン/オフ状態を持つ ToggleButton を使用することです。これにより、オンブールフラグを設定したり、ボタンの状態に基づいてヒントを設定したりする必要がなくなります。

于 2012-04-12T10:15:46.927 に答える
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;
           }
于 2012-04-12T10:16:15.580 に答える