我遇到了以下问题。我实现了带有选项卡和 View 页面的导航来滑动我的 fragment 。到目前为止,这工作正常。 但 fragment 都是通过异步任务加载数据,因此它们显示一个进度对话框。哪个 self 也按其应有的方式工作。我的问题是,由于 Viewpager 不仅加载了实际 fragment ,而且还加载了它旁边的 fragment 。所以我看到错误的进度对话框。 有没有什么方法可以实现进度对话框对其 fragment 保持可见的行为(因此,当用户在异步任务完成加载之前移动到下一个选项卡时会收到通知)而不是其他任何地方?
希望我想说的很清楚。 感谢您的帮助。
最美好的祝愿
最佳答案
进度对话框可以是一个卡在所有内容前面的“对话框”,也可以是一个位于适当位置的 View 。因此,我的建议是制作一个全屏(或部分屏幕)布局,位于 fragment 中并显示进度对话框。如果用户移动到不同的 fragment ,它将与 fragment 的其余部分一起移到一边。如果你将它设置在顶部 Z 级别,使其全屏并捕获对其的所有点击(并吞下它们,这样它们就不会级联到 Z 顺序中下方的布局中)我相信你会得到你想要的正在描述您想要的结果。
关键是不要在代码中动态使用 ProgressDialog,而只是放置在 XML 中的 View 版本。
编辑: 我正在谈论其中之一...
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
关于android - 从背景 fragment 中隐藏进度对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14289253/