【问题标题】:Showing a progress wheel in a widget在小部件中显示进度轮
【发布时间】:2011-08-28 20:30:02
【问题描述】:

我有一个小部件,当我按下它时会更新,但我想在小部件更新时显示一个进度轮。

//remove text      
        updateViews.setViewVisibility(R.id.widget_textview, View.GONE);
        updateViews.setViewVisibility(R.id.widget_dkk, View.GONE);

// show progress wheel

updateViews.setViewVisibility(R.id.widget_Pross, View.VISIBLE);



// task that take time are locatet here a GetHTTP function



//Show text again       
        updateViews.setViewVisibility(R.id.widget_textview, View.VISIBLE);
        updateViews.setViewVisibility(R.id.widget_dkk, View.VISIBLE);

// Remove progress wheel

   updateViews.setViewVisibility(R.id.widget_Pross, View.GONE);

所有这些都位于我的小部件更新类中:

public static RemoteViews buildUpdate(Context context) {

但是没有显示进度轮。这就像小部件只更新一次,因此在 GetHttp 中计算时不会显示进度轮。

编辑:

// Remove rext and show progress wheel
    updateViews.setViewVisibility(R.id.widget_textview, View.GONE);
        updateViews.setViewVisibility(R.id.widget_dkk, View.GONE);
        updateViews.setViewVisibility(R.id.widget_Pross, View.VISIBLE);

    ComponentName thisWidget = new ComponentName(context, SaldoWidget.class);
    AppWidgetManager manager = AppWidgetManager.getInstance(context);
    manager.updateAppWidget(thisWidget, updateViews);


//    GetHttp code here / long computing task her

 //Show text and remove progress wheel 
 updateViews.setViewVisibility(R.id.widget_textview, View.VISIBLE);
            updateViews.setViewVisibility(R.id.widget_dkk, View.VISIBLE);
            updateViews.setViewVisibility(R.id.widget_Pross, View.GONE);
            manager.updateAppWidget(thisWidget, updateViews);

【问题讨论】:

    标签: android widget android-widget progress android-wheel


    【解决方案1】:

    您每次想要更改布局时都必须致电AppWidgetManager.updateAppWidget()

    这意味着您必须隐藏原始小部件视图并在您的RemoteViews 中显示进度条。之后,调用updateAppWidget() 更改布局并显示进度条。然后执行你的下载任务。之后,使用获取的数据填充视图,隐藏进度指示器并再次调用 updateAppWidget() 将其更改回正常布局。

    RemoteViews 这个名字一开始可能会让这有点混乱。实际上,您可以从应用程序远程控制的不是一堆Views。它是您根据需要构建的一组视图,然后将其提供给 AppWidgetManager 以进行发布。

    【讨论】:

    • 谢谢,这正是我所需要的,现在完美运行!
    猜你喜欢
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 2020-09-09
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    相关资源
    最近更新 更多