Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Custom Event Listener

Say I want to make my own event listener for my class, how do I do that? Do I need to maintain a thread manually?

like image 351
adarsh Avatar asked Nov 28 '11 07:11

adarsh


1 Answers

public class CustomView extends View(){ OnCustomEventListener mListener; : ://some code : : 

Create an interface that will be implemented by your activity:

public interface OnCustomEventListener {     void onEvent(); }  public void setCustomEventListener(OnCustomEventListener eventListener) {     mListener = eventListener; } 

Now you need to know when the event is actually occurring. For example when the user touches a point on screen, override onTouchEvent method:

onTouchEvent(MotionEvent ev) {     if (ev.getAction==MotionEvent.ACTION_DOWN) {         if(mListener!=null)              mListener.onEvent();     } } 

Similarly, you can create a specific event that you want. (examples could be touch down, wait for exactly 2 seconds and release- you would need to do some logic inside touch event).

In your activity, you can use the customView object to set an eventListener as such:

 customView.setCustomEventListener(new OnCustomEventListener() {     public void onEvent() {         //do whatever you want to do when the event is performed.     }  });    
like image 173
rDroid Avatar answered Sep 21 '22 11:09

rDroid