2014-11-06 83 views
-1

我使用「developer.android.com - 提供導航」中的代碼片段來實現點擊我的應用程序圖標的主頁按鈕。它適用於我所有的活動,除了我的碎片。我把這個「getActionBar()。setDisplayHomeAsUpEnabled(true);」在所有活動中,包括我的Fragment活動,它實現3個片段並相應地編輯Android清單。使用應用程序圖標返回片段中的主要活動

有沒有辦法解決這個問題,還是我需要一種不同的方法來在片段中執行相同的操作,因爲我無法在片段清單中引用父活動?

<activity 
    android:name=".ChildActivity" 
    android:parentActivityName="com.example.test.MainScreenActivity" > 
    <!-- Parent activity meta-data to support 4.0 and lower --> 
    <meta-data 
     android:name="android.support.PARENT_ACTIVITY" 
     android:value="com.example.test.MainActivity" /> 
</activity> 

回答

0

在片段你應該訪問父活動做這樣的:

getActivity().getActionbar().whateverYouWant(); 
+0

這樣做的工作,但我仍然不能像其他活動一樣在清單中引用父活動。 – Acejakk 2014-11-07 14:30:26

+0

@Acejakk這是另一個問題,請在SO上提出另一個問題。 – Pedram 2014-11-07 14:37:56

+0

它實際上是相同的目的。點擊圖標從片段 – Acejakk 2014-11-07 14:40:47

0

的aswer是,你並不需要實現它的片段在所有。碎片是活動的一部分,您只需在此處執行此操作,除非您在視圖初始化程序中執行此操作:

// Initilization 
viewPager = (ViewPager) findViewById(R.id.pager); 
actionBar = getActionBar(); 
mAdapter = new TabsPagerAdapter(getSupportFragmentManager(), args); 

viewPager.setAdapter(mAdapter); 
actionBar.setDisplayHomeAsUpEnabled(true); 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

完成!

+0

所以你問了一個錯誤的問題... – Pedram 2014-11-07 16:08:39

+0

我可能用錯誤的方式解釋了我自己。 – Acejakk 2014-11-07 16:12:59

+0

其實我對此也很懷疑,現在你會接受我的回答嗎? – Pedram 2014-11-07 17:10:47

相關問題