1

我遇到以下問題。我實現了一個帶有製表符和viewpager的導航來掃描我的片段。到目前爲止,這工作得很好。 但片段都通過異步任務加載數據,並且他們正在顯示進度對話框。這是自我也是應該的。我的問題是,由於Viewpager不僅加載了實際的片段,而且還加載了它旁邊的片段。所以我看到錯誤的進度對話框。 有什麼辦法可以實現進度對話框保持對其片段可見的行爲(因此,在異步任務完成加載之前,用戶被告知,當他移動到下一個選項卡時),而不是其他任何地方?從背景片段中隱藏進度對話框

希望很清楚,我想說什麼。 感謝您的幫助。

回答

1

進度對話框可以是「對話」,在眼前的一切掛出,也可以是一種觀點認爲,在地方坐。所以,我的建議是將全屏幕(或部分屏幕)佈局放置在片段中,並顯示進度對話框。如果用戶移動到不同的片段,它將移動到片段的其餘部分。如果你將它設置在最高Z級別,那麼將其設置爲全屏並捕獲所有的水龍頭(併吞下它們,這樣它們就不會在z順序下層疊到佈局下面)我相信你會擁有你將其描述爲你想要的結果。

關鍵不是在代碼中動態使用ProgressDialog,而只是將其放在XML中的View版本。

編輯: 我說的這些......大約一

<ProgressBar 
     android:id="@+id/progressBar1" 
     style="?android:attr/progressBarStyleLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 
+0

你有一個鏈接的例子嗎?嘗試添加一個自制的對話框片段,但因爲它不起作用,我想這不是你的意思。 –

+0

你超越了這個(沒有冒犯)。這裏不需要碎片。只需使用進度視圖(如果您使用的是Eclipse,只需將其中一個拉入佈局工具中的佈局工具,該佈局工具包含所有不同的視圖,以便將n拖放到視圖中)。然後圍繞它建立一個佈局,防止與後面的東西進行交互。 –

+0

對不起,我沒有明白如何構建一個防止與後面的東西交互的佈局。例如圍繞填充父寬度和高度的進度視圖來使用LinearLayout?操作完成後將其設置爲可見狀態?準確地說是 –