2017-04-19 23 views
3

我已經用MainActivity中給出的代碼的幫助替換了所有片段中的所有漢堡包圖標。如何設置backarrow代替漢堡包圖標只有1個單獨的片段?

toggle.setDrawerIndicatorEnabled(false); 
     toggle.setHomeAsUpIndicator(R.drawable.leftarrow); 

現在我想的是backarrow應只在一個片段與片段的其餘部分是應該有具有其中我想後退箭頭漢堡包icon.The片段是從另一個片段重定向一個的onclick卡片視圖中的一些數據。我需要在工具欄中的箭頭位置設置漢堡包圖標以導航回到之前包含卡式視圖的片段。我無法解決它。

+1

您總是可以選擇將包含數據的Bundle傳遞給新創建的片段,提及誰調用它。然後在片段中使用getArgument()將知道是誰調用它,並在片段中更改onCreateView中的圖標,以便使用backarrow。希望能幫助到你 ! – DroidDev

+0

在您的MainActivity中設置工具欄,現在當您加載該片段時,將工具欄中的navigationIcon設置爲背面圖標,當您從該片段返回時,可以再次用漢堡包替換該圖標。 – Bhavnik

回答

0

嘗試使用漢堡包創建兩個單獨的導航欄,並使用後面的圖標創建兩個導航欄。並使用它。

+0

我無法使用兩個獨立的導航欄。我必須通過僅使用一個單一的默認工具欄來處理所有內容。在這種情況下幫助我。 –

0

我覺得你應該把漢堡包圖標中的主要活動,並在您需要的片段改變它在onCreateView ...

+0

我已經使用了默認的工具欄。所以它給了我默認的漢堡包圖標,所以我不需要放在任何地方。我用我想要的backarrow代替它。現在我被卡住,如何改變每個片段的可見性。我只需要在其他片段中卡片視圖的點擊打開的片段中使用backarrow –

4

嘗試像這樣

使用Harmburger圖標的主要活動,在onCreateView方法中調用fragment時,用後退箭頭替換harmburger圖標。 。自從我數據綁定的概念,所以我走活動的引用綁定,如果你不使用數據綁定的概念,把活動參考,並啓動ActionBarToggle並更換圖標

ActivityDashboardBinding activityDashboardBinding = DashboardActivity.getActivityDashboardBinding(); 

ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(getActivity(), 
activityDashboardBinding.drawerLayout, activityDashboardBinding.toolbar, 
     R.string.navigation_drawer_open, R.string.navigation_drawer_close); 

toggle.setDrawerIndicatorEnabled(false); 
toggle.setHomeAsUpIndicator(R.drawable.ic_arrow_back); 

注意:一旦你在一個片段中用back_arrow代替Harmburger圖標,你需要在所有片段中處理這個,或者在主要活動中編寫一個通用的靜態方法,從每個片段中調用該方法。

+0

我已經用反射所有片段的backarrow圖標替換了圖標。問題是如何讓它只在一個片段中可見,並管理其他片段的可見性並在其他片段中顯示漢堡包圖標。 –

+0

我能夠在mainactivity中只替換它,而不是在其他任何片段中。所以我無法從碎片中取代。我也沒有使用onbindview。 –

+0

是的!這就是爲什麼我說要在活動中創建靜態方法並將其全部調用到所有片段,只需傳遞片段名稱並根據片段名稱處理圖標和動作 – Keerthivasan

相關問題