実行時にSwitch textOn/textOff コンテンツを変更できないという問題があります。つまり、(テスト目的で) 単純な Button にバインドされた次のコードは機能しません。
private int _counter = 1;
@Override
public void onClick(View arg0) {
_sw.setTextOn("On " + _counter);
_sw.setTextOff("Off " + _counter);
_sw.setText("Text" + _counter);
_sw.setVisibility(_sw.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
_counter ++;
_sw.invalidate(); // no effect
_sw.setFocusable(true); // no effect
_sw.getTextOn(); // returns the correct value which was set above
}
このコードは、setText
Switch に関連付けられたテキスト ( method works) を変更しますが、スイッチの On または Off ラベルは変更しません。興味深いことに、getTextOn
orを呼び出すとgetTextOff
、この Switch に設定された正しい値が返されます。これが期待どおりに機能しない理由はありますか?
よろしく、
ミハ。