CheckBoxの再利用
CheckBoxを作成&使用して、その後、そのオブジェクトを再利用したい場合があるかもしれない。
2回目の使用時にも、setCheckedメソッドを使ってチェックを付けるのである。
このsetCheckedメソッドであるが、setOnCheckedChangeListenerメソッドを実行してしまった後で、setCheckedメソッドを実行すると、onCheckedChangedメソッドが呼ばれてしまう。
2回目の使用時に、そうなってしまった場合、不都合が生じる場合が有る。
Windowsにおいても、似た仕掛けがあるが、Windowsの場合には、onCheckedChangedメソッドに「端末利用者がチェックを施したのか」「プログラムでチェックを施したのか」がわかる引数が付いている。
Androidの場合には、そういう引数は無い。
このため、setCheckedメソッドを実行する直前に、setOnCheckedChangeListener(null)を実行させれば良い。setCheckedメソッドを実行させた後で、setOnCheckedChangeListenerを再設定し直せば良い。
0 件のコメント:
コメントを投稿