2010-06-11 12 views
1

AppWidgetProvider의 onReceive 메소드에서 홈 화면 위젯의보기를 어떻게 업데이트 할 수 있습니까?Android 홈 화면 업데이트 TextView

내 홈 화면 위젯의 TextView를 업데이트하려고하지만 onReceive 메서드에서 내 AppWidgetProvider의 TextView에 액세스 할 수없는 것으로 보입니다. 여기

이의 샘플 코드 내 onReceive

public void onReceive(Context context,Intent intent) { 
    final String action = intent.getAction(); 
    if (AppWidgetManager.ACTION_APPWIDGET_DELETED.equals(action)) { 
     final int appWidgetId = intent.getExtras().getInt(
     AppWidgetManager.EXTRA_APPWIDGET_ID, 
     AppWidgetManager.INVALID_APPWIDGET_ID); 
     if (appWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID) { 
      this.onDeleted(context, new int[] { appWidgetId }); 
     } 
    } else { 
     if (intent.getAction().equals(ACTION_WIDGET_RECEIVER)) { 
      String msg = "null"; 
      try { 
       msg = intent.getStringExtra("msg"); 
      } catch (NullPointerException e) { 

      } 


      Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); 
      // code for gathering the text to update the TextView 


      } 

    } 
     super.onReceive(context, intent); 
} 

답변

2

당신은 텍스트 뷰를 업데이트 할 수 없습니다. 완전히 새로운 위젯 레이아웃 (RemoteViews)을 빌드하고 홈 화면에 게시 할 수 있습니다.

+0

홈 스크린 위젯의 버튼을 클릭하면 TextView가 업데이트됩니다. – user364556

+0

불행히도 없습니다. 인 텐트를 브로드 캐스트 수신기로 보내고 새로운 RemoteView를 다시 작성하십시오. – Fedor