为了澄清我的问题,我希望有一个扩展Fragment的基类,例如:
public class MyFragment extends Fragment
{
@Override
public void onAttach(Activity activity)
{
//common work
}
}
我有扩展MyFragment的子类,但我也想让子类获得ListFragment的功能,它已经扩展了Fragment。
如何在不创建2个基类的情况下完成此操作,一个用于简单的Fragment,另一个用于ListFragment(可能还有三个用于DialogFragment),或者必须查看ListFragment(和DialogFragment)的源以便创建我自己的扩展MyFragment的子类?
答案 0 :(得分:1)
你不能。一个类只能有一个基类。
你最好的方法是忘记ListFragment
。无论如何,它并没有做很多事情。
答案 1 :(得分:0)
他们是这样做的一种方法,创建一个ListFragment
(public class SecondFragment extends ListFragment
),然后将其称为基础片段MyFragment
中的子片段。这是在frgment内部创建片段的方法(frament的嵌套)。请参阅这些链接.. http://developer.android.com/reference/android/app/Fragment.html和http://developer.android.com/about/versions/android-4.2.html#NestedFragments
答案 2 :(得分:0)
ListFragment只提供一些样板代码,如果你真的想拥有它的功能,可以查看它的source code以供参考,并在你的MyFragment中实现类似的功能。这是Android上开发的一项优势,可以检查平台源代码,看看它是如何做的。