你好,我遇到了一个问题,我的同事们经常忘记在我的通用互联网错误片段中实现回调。我们只有在调用片段时才会发现缺少类的问题。也就是说,应用程序会神秘地崩溃,我们要花时间查找原因。
除了实现Android的自定义lint检查,我如何强制开发人员实现回调?这是一个简单的片段,仅显示文本并不带参数。
@Override
public void onAttach(Context context) {
super.onAttach(context);
try {
mNoInternetCallbackInterface = (NoInternetCallbackInterface) getActivity();
} catch (ClassCastException e) {
throw new ClassCastException(getActivity().toString()
+ " must implement OnFragmentInteractionListener");
}
}
@Override
public void onStart(){
super.onStart();
try {
mNoInternetCallbackInterface = (NoInternetCallbackInterface) getActivity();
} catch (ClassCastException e) {
throw new ClassCastException(getActivity().toString()
+ " must implement OnFragmentInteractionListener");
}
}
@Override
public void onDetach() {
super.onDetach();
mNoInternetCallbackInterface = null;
}
在这里调用了活动。 (是的,我知道我应该使用一个创建实例函数,但这不会解决这个问题)
@Override
public void onError(final Throwable e) {
FragmentManager fragmentManager = getSupportFragmentManager();
NoInternetDialogFragment mNoInternetDialogFragment = new NoInternetDialogFragment();
try {
mNoInternetDialogFragment.show(fragmentManager, "no_internet");
} catch (IllegalStateException ie) {
// ignore as this code is going away.
}
}