2013-01-20 105 views
0

我有一個活動顯示不同的片段,而不是更改活動。在一個片段中,我有一個ListView,其中每個項目有幾個ImageViews和TextViews。當用戶點擊ListView項目時,活動會切換片段,但新片段將與ListView項目共享所有相同的視圖,以及在該特定片段中添加的更多內容。在片段之間傳遞視圖

有沒有辦法在片段之間傳遞視圖,所以我不必再次膨脹所有相同的視圖?從列表項中的視圖中獲取位圖和文本字符串並將它們填充到新片段中的新視圖中會更好嗎?

回答

1

簡短的回答你的問題。 不,沒有方法可以在片段之間共享視圖,除非兩個片段的佈局相同。 視圖只是描述應用程序中佈局的容器。您需要操縱數據來填充容器。

我不認爲你正在嘗試使用相同的觀點。我認爲你想要的是列表中視圖中的數據。你將不得不處理片段到片段的通信。這包括設置一個接口並將數據傳遞給主要活動,並讓其他片段在創建時從活動中獲取數據。我把一個鏈接發到我回復的帖子上。我發佈的代碼使用片段來顯示應用程序而不是活動。我遺漏了一些片段,但接口的代碼以及一些很好的鏈接。如果您有任何疑問,請告訴我。

Fragment Demo Code

+0

感謝您的回答。我正在使用一個接口,但也使用動畫,我不想讓任何視圖從切換到新片段變爲空白,然後再次填充。 – Wenger

0

如果您嘗試在新的Fragment上的同一個ListView本身添加新的東西,您實際上不需要通過View。如果多數民衆贊成的情況下,你可以改變新項目的,說TextViewVisibility

+0

新的片段不是一個ListView。它只是一個與被點擊的ListView項目有很多相同Views的RelativeLayout。 – Wenger