toggle1.setoncheckedchangelistener(new compoundbutton.oncheckedchangelistener() { public void oncheckedchanged(compoundbutton buttonview, boolean ischecked) { try { string msg =""; if (ischecked) { // toggle enabled //msg = "hello " + string.valueof(!ischecked); msg = "1"; } else { // toggle disabled //msg = "hello " + string.valueof(!ischecked); msg = "1"; } msg += "\n"; outputstream.write(msg.getbytes()); } catch (ioexception ex) { } catch (nullpointerexception ex) { } } });
please consider above code. have 1 switch code snippet enough. however, if have 4 switchs 4 times repeat code snippet. duplicate. here each switch toggl1 ->msg = "1"; toggl2 ->msg = "2"; just change each place.
how can pass object setoncheckedchangelistener can obey dry principle ?
you can use tag of view
, retrieve later this
compoundbutton.oncheckedchangelistener listener = new compoundbutton.oncheckedchangelistener() { public void oncheckedchanged(compoundbutton buttonview, boolean ischecked) { try { string msg =""; if (ischecked) { // toggle enabled //msg = "hello " + string.valueof(!ischecked); msg = buttonview.gettag().tostring() } else { // toggle disabled //msg = "hello " + string.valueof(!ischecked); msg = buttonview.gettag().tostring() } msg += "\n"; outputstream.write(msg.getbytes()); } catch (ioexception ex) { } catch (nullpointerexception ex) { } } }; toggle1.settag("1"); toggle2.settag("2"); toggle3.settag("3"); toggle1.setoncheckedchangelistener(listener); toggle2.setoncheckedchangelistener(listener); toggle3.setoncheckedchangelistener(listener);
the buttonview
passed oncheckchanged
switch toggled, 1 of toggle variables
Comments
Post a Comment