2015-09-30 49 views
0

如何顯式指定名稱getActivity()?我有一個viewpager有兩個片段屬於不同的活動。比方說FragmentA和FragmentB。 FragmentA擴展了BaseFragmentA,FragmentB擴展了BaseFragmentB。 BaseFragmentA屬於BaseActivityA,BaseFragmentB屬於BaseActivityB。包含fragmentA和fragmentB的ViewPagerAdapter屬於MainActivity.So,當我在這些片段中的任何一箇中執行getActivity()時,它會獲得MainActivity.But實際上我需要ActivityA或ActivityB。 任何解決方法?明確指定getActivity()

+1

我不明白你在問什麼 –

+3

我不認爲這是可能的片段「屬於」其他活動比目前持有他們的人更多。 –

+0

這沒有意義。一個片段一次只能在一個活動中進行。 – njzk2

回答

0

在這兩個片段覆蓋onAttach方法,你可以用下面的代碼嘗試

Activity fragmentAttachedActivity; 

    @Override 
     public void onAttach(Context context) { 
      super.onAttach(context); 
      if(context instanceof ActivityA){ 
       fragmentAttachedActivity= (ActivityA)context; 
      } else if(context instanceof ActivityB){ 
       fragmentAttachedActivity= (ActivityB)context; 
      } 
     } 
+0

'void onAttach(Activity activity)'已棄用,新方法爲'void onAttach(Context context)' – EpicPandaForce

+0

@EpicPandaForce對不起,我忘了...謝謝提醒我..我編輯過它 –