4

これは私のコードであり、私には機能しません。この例のコードを使用します。

Xml -

<android.support.v7.widget.SwitchCompat
            android:id="@+id/visibility_switch"
            android:layout_width="wrap_content"
            android:layout_height="55dp"
            android:layout_marginRight="@dimen/mat_card_padding"
            app:showText="false" />

そしてコード:

mVisibilitySwitchCompat = (SwitchCompat) findViewById(R.id.visibility_switch);
mVisibilitySwitchCompat.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {             

                    // this method doesn't work!

                    if (isChecked) {
                        mVisibilityTextView.setText(getString(R.string.visibility_on));
                    } else {
                        mVisibilityTextView.setText(getString(R.string.visibility_off));
                    }
                }
            });
4

1 に答える 1

1

リスナーを使用する代わりに、メソッドsetTextOff()setTextOn()メソッドを試してください。スイッチは、チェックされた状態が変化したときに、正しいものを設定することを自動的に処理します。

于 2015-11-16T14:52:50.000 に答える