簡體   English   中英

Android類層次結構和Fragment接口

[英]Android class hierarchy and interfaces with Fragment

我有兩個Fragment層次結構:

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

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

MyAbstractFragmentNMyAbstractListFragmentN實現IMyFragment ,因此MyFragmentMyListFragment實現了此接口。

有什么方法可以創建由實現IMyFragmentFragment類型的字段? 那么'MyListFragment'和'MyFragment'都是正確的類型嗎?

我不能從MyFragmentMyListFragment都繼承來創建超類,因為與開始有很大的不同。 他們只有Fragment中常見的, IMyFragmentMyAbstractListFragmentNMyAbstractFragmentN

我想寫:

class SomeClass{
    private {FragmentImplementsIMyFragment} mFragment;

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

我需要兩種行為:來自Fragment和來自IMyFragment

有什么方法可以創建由實現IMyFragment的Fragment類型的字段? 那么'MyListFragment'和'MyFragment'都是正確的類型嗎?

根據您真正的目標是什么,您可能要使用IMyFragment作為您的類型,或者在代碼中進行一些檢查以查看您的Fragment是否實現了必需的接口。 您還可以檢查所創建對象的類是什么,並采取相應的措施

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

Fragment getFragment();

並始終執行:

Fragment getFragment() { return this; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM