问题描述
我要显示在我的web服务调用的改造成功回调一个新的活动。我有困难找到如何使用改造回调的结果,推出新的活动的例子。这是一个好办法做到这一点?难道我之前清理一些东西?
公共无效的validate(查看视图){
。RetrofitWebServices.getInstance()webserviceMethod(PARAMS,新的回调<为MyObject>(){
@覆盖
公共无效成功(MyObject的对象,响应响应){
意图barIntent =新的意图(FooActivity.this,BarActivity.class);
startActivity(barIntent);
}
@覆盖
公共无效失败(RetrofitError错误){
...
}
});
}
您可以实施回调
与弱引用上下文
公共类myCallBack函数实现回调<为MyObject> {
WeakReference的<语境GT; mContextReference;
公共myCallBack函数(上下文的背景下){
mContextReference =新的WeakReference<语境>(上下文);
}
@覆盖
公共无效成功(为MyObject为arg0,响应ARG1){
上下文的背景下= mContextReference.get();
如果(背景!= NULL){
意图barIntent =新的意图(FooActivity.this,BarActivity.class);
context.startActivity(barIntent);
} 其他 {
// TODO进程上下文丢失
}
}
@覆盖
公共无效失败(RetrofitError为arg0){
// TODO过程中的错误
}
}
只需记住 - 假如上下文
丢失发生在执行过程中的要求,但你可能不担心潜在的内存泄漏可能是,如果你保持较强的这个解决方案将无法正常工作参照上下文
对象。
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 to Context
public class MyCallback implements Callback<MyObject> {
WeakReference<Context> mContextReference;
public MyCallback(Context context) {
mContextReference = new WeakReference<Context>(context);
}
@Override
public void success(MyObject arg0, Response arg1) {
Context context = mContextReference.get();
if(context != null){
Intent barIntent = new Intent(FooActivity.this, BarActivity.class);
context.startActivity(barIntent);
} else {
// TODO process context lost
}
}
@Override
public void failure(RetrofitError arg0) {
// TODO process error
}
}
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 to Context
object.
这篇关于我如何调用回调改造的意图是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!