title: Android: How to update widget text on creation
body: <p>I have seen several questions regarding how to update widgets but nothing is helping me with my issue.</p>
  
  <p>I created a widget that has a textview that I want to dynamically update upon widget creation. 
  I have a configuration activity that is called when adding the widget on the screen. I store the value in the sharedpreferences and retreive it onUpdate. The problem is that the widget doesn't get updated. Any idea how it can be done? I do not want to update the textview after a click on the widget, just get the correct text to be displayed on creation.</p>
  
  <pre><code>public class AndroidWidget extends AppWidgetProvider {
  
  @Override
  
  public void onUpdate(Context context, AppWidgetManager appWidgetManager,
          int[] appWidgetIds) {
  
      ComponentName thisWidget = new ComponentName(context,
              AndroidWidget.class);
  
      int[] allWidgetInstancesIds = appWidgetManager
              .getAppWidgetIds(thisWidget);
      for (int widgetId : allWidgetInstancesIds) {
          RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
                  R.layout.widget_layout);
  
          // Create an intent that when received will launch the PopUpActivity
          Intent intent = new Intent(context, AndroidWidget.class);
          intent.setAction(SHOW_POPUP_DIALOG_ACTION);
          intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId);
  
          PendingIntent pendingIntent = PendingIntent.getBroadcast(context,
                  widgetId, intent, 0);
  
          // Set up the onClickListener of the widget
  
          remoteViews.setOnClickPendingIntent(R.id.myText, pendingIntent);
  
          SharedPreferences prefs = context.getSharedPreferences(
                  String.valueOf(widgetId), Context.MODE_PRIVATE);
  
          remoteViews.setTextViewText(R.id.myText,
                  prefs.getString("storedtext", null));
  
          appWidgetManager.updateAppWidget(widgetId, remoteViews);
  
      }
  
      super.onUpdate(context, appWidgetManager, appWidgetIds);
  
  }
  </code></pre>
  
  <p>This actually updates the textview but only after clicking or creating another widget.</p>