2015-09-26 3 views
0

Возможно, вы можете мне помочь. У меня возникли проблемы с возвратом формы метода POJO, сгенерированным с помощью модификации.Возврат Домофон POJO от метода

Мне нужно вернуться из метода класса, созданного с помощью модифицированного устройства, с добавлением некоторых модификаций в pojo.

это метод:

public MensajeError iniciarSesion(String usuario,String password) 

и это реализация метода:

public MensajeError iniciarSesion(String usuario,String password) { 
    Conector apiService = 
      restAdapter.create(Conector.class); 

    apiService.iniciarSesion(usuario, password, new Callback<MensajeErrorR>() { 
     @Override 
     public void success(MensajeErrorR mensajeErrorR, Response response) { 


     } 

     @Override 
     public void failure(RetrofitError error) { 
      Log.v("TAG", "ACA HAY QUE HACER EL MANEJO DEL ERROR"); 
     } 

    }); 
    //here I need to get the mensajeErrorR pojo and make some modifications, and then return it. 

    return mensajeErrorR; //Maybe I will return another class, but with data from de POJO 
} 

Как я могу получить mesajeErrorR POJO от метода успеха? Внутри метода успеха все в порядке, я могу видеть значения mesajeErrorR без проблем, я не знаю, как получить доступ к данным вне этого метода.

Извините за мой английский xD

Спасибо!

+0

Вам нужно вернуть его в основной поток или сохранить его таким образом, чтобы ваша основная нить могла его видеть. В настоящее время для этого я использую автобус. – EpicPandaForce

ответ

0

Есть два ответа на что:

Один, находится в вашем Connector изменения интерфейса декларации

void iniciarSesion(String usuario, String password, Callback<MensajeErrorr> callback); 

в

MensajeError iniciarSession(String usuario, String password 

, то вы можете написать:

MensajeError error = iniciarSession(usuario, password); 

, и у вас есть ошибка в вашем методе. Тем не менее, это не сработает, если ваш метод iniciarSesion вызывается в потоке пользовательского интерфейса - исключение будет выбрано, потому что вам не разрешено делать сетевые вызовы в основном потоке.

Второй ответ заключается в том, что вы действительно не можете получить доступ к объекту ошибки в своем методе. Он получает обратный вызов, и все, что вы можете сделать, это реструктурировать свой код, чтобы вы изменили объект ошибки в sucess calback и вызвали другой прослушиватель с измененными данными.

+0

Gracias !!! Благодаря!!! –

Смежные вопросы