提问人:user3034944 提问时间:3/4/2019 最后编辑:user3034944 更新时间:3/4/2019 访问量:245
多个接口实现 Android [重复]
Multiple interface implementations Android [duplicate]
问:
我有一个 Activity,它实现了两个接口,用于对某些操作进行回调。我想将我的 Activity 的上下文发送到另一个 Class,该 Class 将访问指定回调的对象。
这是我的代码:-
public class OpenSchoolFragment extends Fragment implements IOpenSchoolCallBack, INetworkCallback
{
// 1st case
expandableListAdapter = new AdapterOpenSchool(getActivity(), this); // IOpenSchoolCallBack should provided
//2nd case
call.enqueue(new Callback<OpenSchool>()
{
@Override
public void onResponse(Call<OpenSchool> call, Response<OpenSchool> response)
{
if (response.isSuccessful())
{
OpenSchool userBatch = response.body();
if (userBatch != null)
{
RLProgressRoot.setVisibility(View.GONE);
}
}
else
{
RLProgressRoot.setVisibility(View.GONE);
if (response.code() == getResources().getInteger(R.integer.integer_404))
{
DialogHelperUtil.showRetrySnackbar(RLContainer, getString(R.string.str_error_unauthorised),this); //INetworkCallBack should be provided
}
else
{
DialogHelperUtil.showMessageSnackbar(RLContainer, response.raw().message());
}
}
}
}
因此,当我尝试在第二种情况下传递“this”时,我收到一个错误,说:-
Wrong 3rd argument type. Found: 'Callback<OpenSchool>', required: 'INetworkCallback'
对于第二种情况,我如何确保在“this”中传递正确的回调,即。?INetworkCallback
答:
1赞
emandt
3/4/2019
#1
“this”是指您所处的那个精确点的当前对象。
如果 your 是从类中调用的,则引用 .DialogHelperUtil.showRetrySnackbar()
Callback
this
Callback
您可以使用以下命令“退出”当前的内部类 () 并访问其外部类Callback
OuterClass.this
评论
(INetworkCallback) this
OpenSchoolFragment.this
this