2013-11-02 205 views
0

我有一個應用程序使用ActionBar選項卡進行導航。通過這些標籤,我在版面中使用FragmentPagerAdapterViewPager使用ViewPager的ActionBar選項卡和多片段佈局

我在我的應用程序的主Activity中配置了這些。在那裏,我爲ViewPager添加頁面更改偵聽器並更改有關位置的選項卡。當按下一個標籤時,我也會這樣做。這很好。

然後我有我在標籤中的內容。他們都擴展Fragment類。第一個必須根據設備更改佈局。在橫向平板電腦上(layout-sw600dp-land),我有一個包含兩個片段的佈局,其他設備只有一個片段。這是通過適當文件夾中的兩個佈局文件完成的。

在這些smaler設備上,第二個片段用作對話框。

我不太清楚如何實現這一切。第一個片段包含一個包含各種任務的ListView。當其中一個被點擊時,編輯窗口應該出現在右邊的片段中。在小設備上,該片段不存在,因此需要以Activity的形式啓動。目前這個編輯窗口是FragmentActivity

我該怎麼做?我不確定它是否真的很難,但我認爲碎片內的碎片讓我感到困惑。

+0

你有一個'ViewPager'有兩個頁面,第一個片段需要根據一些佈局配置顯示一個或兩個片段? – Luksprog

+0

沒錯。橫向模式下的平板電腦需要顯示兩個片段。 – MikkoP

回答

2

我不太確定如何實現這一切。

這應該不會太難。它在概念上作爲多窗格項目,而不是在使用適當片段的活動之間雜耍,而是使用嵌套片段。

您將在ViewPager中擁有一個主/包裝片段,它將表示自適應頁面,該頁面根據當前配置將具有一個或兩個嵌套片段(這些片段需要在運行時附加(限制嵌套的片段))。知道當前的配置,你還需要通過開始一個新的活動來適當地處理選擇/點擊/觸發事件(這是我從你的問題中理解的,但你在這裏有點含糊)或者在相同的包裝碎片。

我做了一個小樣本,與您的問題有關,您可以找到here。我希望是你想要的,當然要記住這是基本的。

+0

我嘗試了類似的東西(現在這個)。問題是,多面板片段中沒有顯示任何內容。我嘗試添加System.out.printlns以進行調試,並且沒有任何方法被調用。我正在談論你命名爲'MultiPageHandleFragment'的類。其他片段顯示正確。我也跟着這個:http://www.vogella.com/articles/AndroidFragments/article.html。我有兩種佈局。一個只顯示一個片段,另一個顯示兩個片段。這是我的一些代碼。 http://pastebin.com/ncCLjhYs http://pastebin.com/d67WebXg – MikkoP

+0

Pastebin似乎已經與縮進混淆了。 – MikkoP

+0

@MikkoP你發佈的代碼不會工作('activity_main_view'是否有嵌入到佈局中的片段(這不應該工作)?)。我的方法(它的工作)是讓'MultiPageHandleFragment'(代碼中的MainView)根據配置膨脹一個佈局(只有佔位符容器不是這些片段本身!),並基於膨脹的佈局將內部片段添加爲嵌套片段(從我看到你沒有做的)。嘗試在模擬器中實際運行我的示例代碼以查看它的行動,也許我不明白你想要什麼。 – Luksprog

0

首先將該活動的編輯窗口轉換爲片段。

德興用於標籤和移動像不同的頁面: 1.選項卡 - 設計就像在左側的FrameLayout在右側列表視圖頁面的ListView 2.對於設備 - 列表視圖中的一個頁面,然後編輯另一個活動窗口

現在,通過使用佈局文件夾右側,您可以爲同一活動創建兩個不同的頁面。

現在您需要檢查framlayout是否爲null。如果爲空,那麼您的應用程序將在手機中運行,這樣您可以在單擊列表項時觸發具有編輯窗口的下一個活動。如果不爲空,那麼你在listview的右側有framelayout,所以只需將編輯片段附加到framelayout。

相關問題