有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android类层次结构和带有片段的接口

我有两个层次结构:

Fragment->MyAbstractFragment1->MyAbstractFragment2->->MyAbstractFragmentN->MyFragment

Fragment->ListFragment->MyAbstractListFragment1->MyAbstractListFragment2->->MyAbstractListFragmentN->MyListFragment

MyAbstractFragmentNMyAbstractListFragmentN都实现了IMyFragment,所以MyFragmentMyListFragment都实现了这个接口

有没有办法创建由Fragment键入的字段,它实现了IMyFragment?所以“MyListFragment”和“MyFragment”都是正确的类型

我无法从MyFragmentMyListFragment继承创建超类,因为从一开始就有很大不同。它们只有Fragment共同点,并且IMyFragment来自MyAbstractListFragmentNMyAbstractFragmentN

我想写:

class SomeClass{
    private {FragmentImplementsIMyFragment} mFragment;

    ...
    mFragment = new MyFragment();
    ...
    mFragment = new MyListFragment();
}

我需要两种行为:来自Fragment和来自IMyFragment


共 (1) 个答案

  1. # 1 楼答案

    我取得的最好成绩是添加到IMyFragment方法中:

    Fragment getFragment();
    

    并始终实施:

    Fragment getFragment() { return this; }