【问题标题】:Hide Progress Dialog from background-fragment从背景片段中隐藏进度对话框
【发布时间】:2013-01-12 01:27:00
【问题描述】:

我遇到了以下问题。我实现了一个带有标签和 viewpager 的导航来浏览我的片段。到目前为止,这工作正常。 但是这些片段都是通过 Async Task 加载数据的,因此它们正在显示一个进度对话框。这是 self 也在正常工作。我的问题是,由于 Viewpager 不仅加载了实际片段,而且还加载了它旁边的片段。所以我看到错误的进度对话框。 有什么方法可以实现进度对话框对其片段保持可见的行为(因此,当用户在异步任务完成加载之前移动到下一个选项卡时通知用户)而不是其他任何地方?

希望很清楚,我想说什么。 感谢您的帮助。

最好的祝福

【问题讨论】:

    标签: android android-fragments android-viewpager progressdialog


    【解决方案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"
             />
    

    【讨论】:

    • 您有示例链接吗?尝试添加一个自制的对话框片段,但由于它不起作用,我想这不是你的意思。
    • 你想多了(无意冒犯)。这里不需要片段。只需使用进度视图(如果您使用的是 eclipse,您可以在布局工具中将一个拖放到您的布局中,该工具具有所有不同的视图供您将 n 拖放到您的视图中)。然后围绕它构建一个布局,防止与后面的东西交互。
    • 抱歉,我不明白如何构建一个布局来防止与后面的东西交互。例如,仅在填充父级宽度和高度的进度视图周围使用 LinearLayout?并设置它的可见性在手术完成后消失?
    • 准确地说。只需捕获对该布局的所有触摸,不要让它们移动到下面的东西中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多