Tengo dos objetos que necesitan una implementación de devolución de llamada, ¿qué pasa si ambos objetos necesitan una implementación diferente? si lo implemento a nivel de clase mediante la palabra clave de implementación, los métodos de interfaz solo aparecen una vez en esa actividad, también si estoy llamando a ambas devoluciones de llamada en el mismo objeto, solo ejecuta la primera devolución de llamada, aquí está mi código: mismo objeto pero diferente implementación de interfaz método, en este caso solo se ejecutó la primera devolución de llamada que llamó primero
client.setCallback(new MqttCallback() { @Override public void connectionLost(Throwable cause) { } @Override public void messageArrived(String topic, MqttMessage message) throws Exception { } @Override public void deliveryComplete(IMqttDeliveryToken token) { try { MqttMessage message = token.getMessage(); } catch (MqttException e) { e.printStackTrace(); } } });mismo objeto diferente implementación:
client.setCallback(new MqttCallback() { @Override public void connectionLost(Throwable cause) { } @Override public void messageArrived(String topic, MqttMessage message) throws Exception { tv.append(message.toString()); Log.i("MainActivity", " Mesages" + message); } @Override public void deliveryComplete(IMqttDeliveryToken token) { } });