2016-03-31 61 views
0

我正在設計一款音樂播放器應用程序,這是我第二次使用android studio和片段進行工作。我已經觀看了很多關於這個視頻的教程視頻,但是我很難獲取多個片段。也許使用片段並不是解決這個問題的方法。但基本上我現在所擁有的是頂部的固定菜單以及正下方的5個片段(彼此之上)。Android Studio多個片段

我希望做的是通過單擊每個按鈕一個片段會加載,所以你會有一個活動,但5個片段加載時按下按鈕。但是我現在遇到的問題不是停止一個片段並加載另一個片段,而是將它們加載在彼此之上。有沒有辦法去做到這一點?

下面是我想到的設計圖像。藍色框是五個片段的位置,現在它們重疊。任何幫助,將不勝感激:)

Design

編輯:原來,答案是我需要定義一個佈局的所有片段。感謝大家。

+0

發佈您的代碼在這裏 –

+0

你想使用fragmentmanager HTTP:/ /stackoverflow.com/questions/7790945/how-can-i-use-fragmentmanager-to-display-fragment-abc-in-a-framelayout。 API文檔:http://developer.android.com/reference/android/app/FragmentManager.html – Bram

+0

發佈您的代碼.... !!! –

回答

0

請發送編碼。但這裏是我可以從你的問題到目前爲止,

我假設你只是一次又一次地使用FragmentManager.beginTransaction.add()

如果是這種情況,請改變你的代碼,以

FragmentManager.beginTransaction().replace(
    containerViewID, 
    new FragmentYouWantToReplace 
); 

這樣做是刪除以前的片段,並增加了新片段。

因此,您可以在活動加載過程中使用add()來創建默認片段,但是對於每個按鈕單擊您可以使用replace()。

0

當你調用一個新的片段,你要經常更換相同的佈局,要顯示的信息的一個,像這樣:

frag_results frag_results = new frag_results(); 
       FragmentManager manager = getSupportFragmentManager(); 
       manager.beginTransaction().replace(R.id.framelayout_secundary, frag_results, frag_results.getTag()).commit();