2011-08-28 3 views
2

나는 그것을 누르면 업데이트되는 위젯을 가지고 있지만 위젯이 업데이트되는 동안 진행 휠을 표시하려고합니다. 위젯에 진행 휠 표시

//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); 

ALL이

내 위젯 업데이트 클래스에서이 locatet됩니다

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); 

답변

2

당신은 레이아웃을 변경할 때마다 AppWidgetManager.updateAppWidget()를 호출해야합니다.

즉, 원래 위젯보기를 숨기고 진행 바를 RemoteViews에 표시해야합니다. 그런 다음 updateAppWidget()으로 전화하여 레이아웃을 변경하고 진행률 표시 줄을 표시하십시오. 그런 다음 다운로드 작업을 실행하십시오. 그런 다음 가져온 데이터로 뷰를 채우고 진행 표시기를 숨기고 updateAppWidget()으로 다시 전화를 걸어 일반 레이아웃으로 다시 변경하십시오.

이름이 RemoteViews 인 경우 처음에는 약간 혼란 스러울 수 있습니다. 앱에서 원격으로 제어 할 수있는 것은 실제로 Views이 아닙니다. 그것은 여러분이 필요에 따라 구축 한 뷰 그룹이며,이를 AppWidgetManager에 제공하여 게시합니다.

+0

고마워, 그게 내가 필요한 것, 이제 완벽하게 작동합니다! – Jeff