java - Android onTouchListener, easier way to implement -
well, have 16 buttons. want find easier way add them ontouch listener, i'm new android/java i'm not sure work. here's code right now.
public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main)
.
button btn_main1 = (button) findviewbyid(r.id.cmd_main1); button btn_main2 = (button) findviewbyid(r.id.cmd_main2); button btn_main3 = (button) findviewbyid(r.id.cmd_main3); button btn_main4 = (button) findviewbyid(r.id.cmd_main4); button btn_main5 = (button) findviewbyid(r.id.cmd_main5); button btn_main6 = (button) findviewbyid(r.id.cmd_main6); button btn_main7 = (button) findviewbyid(r.id.cmd_main7); button btn_main8 = (button) findviewbyid(r.id.cmd_main8); button btn_main9 = (button) findviewbyid(r.id.cmd_main9); button btn_main10 = (button) findviewbyid(r.id.cmd_main10); button btn_main11 = (button) findviewbyid(r.id.cmd_main11); button btn_main12 = (button) findviewbyid(r.id.cmd_main12); button btn_main13 = (button) findviewbyid(r.id.cmd_main13); button btn_main14 = (button) findviewbyid(r.id.cmd_main14); button btn_main15 = (button) findviewbyid(r.id.cmd_main15); button btn_main16 = (button) findviewbyid(r.id.cmd_main16); btn_main1.setontouchlistener(tlistener1); btn_main2.setontouchlistener(tlistener1); btn_main3.setontouchlistener(tlistener1); btn_main4.setontouchlistener(tlistener1); btn_main5.setontouchlistener(tlistener1); btn_main6.setontouchlistener(tlistener1); btn_main7.setontouchlistener(tlistener1); btn_main8.setontouchlistener(tlistener1); btn_main9.setontouchlistener(tlistener1); btn_main10.setontouchlistener(tlistener1); btn_main11.setontouchlistener(tlistener1); btn_main12.setontouchlistener(tlistener1); btn_main13.setontouchlistener(tlistener1); btn_main14.setontouchlistener(tlistener1); btn_main15.setontouchlistener(tlistener1); btn_main16.setontouchlistener(tlistener1); }
obviously, that's terrible way it. i'm sure there's way sort of loop, or put buttons in array or something. shortening appreciated!
another way add buttons using code instead of xml.
however, clean code...
int[] buttonids = new int[]{r.id.cmd_main1, r.id.cmd_main2}; // , on for(int buttonid : buttonids) { button b = (button)findviewbyid(buttonid); b.setontouchlistener(tlistener1); }
also, onclicklistener cleaner, depending on want buttons do. specify onclicklistener in xml:
<button android:onclick="myclickhandler" />
and in activity, add corresponding method:
class myactivity extends activity { public void myclickhandler(view target) { // stuff } }
Comments
Post a Comment