0
我想扩展Fragment
类,但我希望能够用我的类HoloEverywhere并用默认的片段......延长未知的超类装饰图案,并覆盖功能
所以我试图用一个装饰...
public abstract class RFragment<F extends Fragment, I extends LayoutInflater> extends Fragment implements IKey
{
private final Class<F> mFragmentClass;
private final Class<I> mInflatorClass;
public RFragment(Class<F> fragmentClass, Class<I> inflatorClass)
{
this.mFragmentClass = fragmentClass;
this.mInflatorClass = inflatorClass;
}
}
我现在也希望覆盖onCreateView
,但我不能这样做。我尝试是以下几点:
@Override
public View onCreateView(I inflater, ViewGroup container, Bundle savedInstanceState)
{
if (view == null)
{
view = doOnCreateView(inflater, container, savedInstanceState);
loadingIndicator = doGetLoadingIndicatorView(view);
}
return view;
}
protected abstract View doOnCreateView(I inflater, ViewGroup container, Bundle savedInstanceState);
protected abstract View doGetLoadingIndicatorView(View view);
但这是不允许的,因为我不能覆盖的功能,如果该参数不匹配
是它在某种程度上可能(I = LayoutInflator!)解决这个问题?我想避免复制我的类,只是将默认片段和默认LayoutInflator中的导入更改为HoloEveryhwere中的导入(它只扩展默认类)...
HoloEverywhere是一个库(不是我自己),它可以用来在老的android系统上获得Holo的视觉风格以及...他们扩展了布局充气机以及...所以'onCreateView'将被调用在第一种情况下使用'org.holoeverywhere.LayoutInflator',在第二种情况下使用'android.view.LayoutInflater' ... – prom85
不知道=)谢谢。你有没有尝试我的答案的第一部分? –
实际上,这将无法正常工作...全息库使'onCreateView'最终和内部设定LayoutInflator使用(自己或默认),因为在新的Android系统上使用默认的默认设置,只有旧的一个是使用... – prom85