events - Creating a click handler for the View in Android -


i'm writing simple android application showing various shapes on main view:

public class figures extends activity {     demoview demoview;     int figure_type = 1;      /** called when activity first created. */     @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);          demoview = new demoview(this);         setcontentview(demoview);     }      @override     public boolean oncreateoptionsmenu(menu menu) {         menuinflater inflater = getmenuinflater();         inflater.inflate(r.menu.firstmenu, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item) {         switch(item.getitemid()) {         case r.id.color_menu_item:             break;         case r.id.circle_menu_item:             figure_type = 0;             break;         case r.id.square_menu_item:             figure_type = 1;             break;         case r.id.triangle_menu_item:             figure_type = 2;             break;         case r.id.exit_menu_item:             super.finish();             break;         default:             break;         }         return true;     }      private class demoview extends view {         public demoview(context context) {             super(context);         }          @override         protected void ondraw(canvas canvas) {             super.ondraw(canvas);              display display = getwindowmanager().getdefaultdisplay();             int width = display.getwidth();             int height = display.getheight();              paint paint = new paint();             paint.setstyle(paint.style.fill);                             paint.setcolor(color.white);             canvas.drawpaint(paint);              if (figure_type == 0)             {                                 // circle                 random randomcolor = new random();                 paint.setcolor(randomcolor.nextint());                 canvas.drawcircle(width/2, height/2-100, 100, paint);             }             else if (figure_type == 1)             {                                 // square                 random randomcolor = new random();                 paint.setcolor(randomcolor.nextint());                 canvas.drawrect(80, 80, 220, 220, paint);             }             else if (figure_type == 2)             {                 // triangle                 random randomcolor = new random();                 paint.setcolor(randomcolor.nextint());                  path path = new path();                 path.moveto(width/2, 30);                 path.lineto(width/2+100, height/2-50);                 path.lineto(70, 190);                 path.close();                 canvas.drawpath(path, paint);             }         }     } } 

how perform event clicking on screen (or demoview)?

you need set onclicklistener on view. i.e in oncreate:

demo.setonclicklistener( new view.onclicklistener() {   public void  onclick  (view v) {     // click behavior here.   }); 

Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -