I want to display a new activity on success callback of my WebService called by Retrofit. And I have difficulties to find examples on how to use Retrofit callback result to launch new activity. Is that a good way to do it ? Do I have to clean up some stuff before?
public void validate(View view) {
RetrofitWebServices.getInstance().webserviceMethod(params,new Callback<MyObject>() {
@Override
public void success(MyObject object, Response response) {
Intent barIntent = new Intent(FooActivity.this, BarActivity.class);
startActivity(barIntent);
}
@Override
public void failure(RetrofitError error) {
...
}
});
}
You can implement
Callback
with weak reference toContext
Just remember - this solution will not work if
Context
lost occurred while request in progress but you may don't worry about potential memory leak which may be if you keep strong reference toContext
object.Hi have a solution that seems easier: use the
getApplicationContext()
function.I am not 100% sure it is OK, but in my case it works as expected.
Your code would be: