对同一监听事件的不同响应

来源:互联网 发布:大数据 元数据 编辑:程序博客网 时间:2024/06/16 16:07

很多时候,我们写监听事件一般这样写:

mLocationClient = new LocationClient(m_Activity);mLocationClient.registerLocationListener(new BDLocationListener() {  @Override  public void onReceiveLocation(BDLocation bdLocation) {  }  @Override  public void onReceivePoi(BDLocation bdLocation) {  } });
但有时候会考虑到代码的排版或者个人喜好:这里需要unregisterLocationListener,必须用这种方式
mLocationClient.registerLocationListener(myListener);
BDLocationListener myListrner = new BDLocationListener() {   @Override   public void onReceiveLocation(BDLocation bdLocation) {   }   @Override   public void onReceivePoi(BDLocation bdLocation) {   }};
在需要对某个事件在不同的情况下实现不同的响应时,可通过新建类实现接口的方式:

public MyLocationListenner myListener = new MyLocationListenner();
public HisLocationListenner hisListener = new HisLocationListenner();
mLocationClient.registerLocationListener(myListener);
mLocationClient.registerLocationListener(hisListener);
在实现代码中写需要的方式即可
public class MyLocationListenner implements BDLocationListener{  
 @Override  public void onReceiveLocation(BDLocation bdLocation) {  }  @Override  public void onReceivePoi(BDLocation bdLocation) {  }
}
public class HisLocationListenner implements BDLocationListener{  
 @Override  public void onReceiveLocation(BDLocation bdLocation) {  }  @Override  public void onReceivePoi(BDLocation bdLocation) {  }
}



0 0
原创粉丝点击