2013-01-13 4 views
4

Je crée un trois widgets pour ma demande, quand je fais glisser les trois widgets à l'écran principal, je reçois la même mise en page widget, mais sur la mise à jour de la mise en page des widgets changerai,comment mettre à jour la disposition du widget sur activer?

Comment puis-je mettre à jour les trois widgets mises en page immédiatement une fois traîné à l'écran principal?

Voici mon code:

public class FullWidgetProvider extends AppWidgetProvider { 


    private int widgetID; 
    private static SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy hh:mm:ss a"); 
    static String strWidgetText = ""; 



    @Override 
    public void onDeleted(Context context, int[] appWidgetIds) { 
     // TODO Auto-generated method stub 
     //super.onDeleted(context, appWidgetIds); 
    // Toast.makeText(context, "onDeleted()", Toast.LENGTH_LONG).show(); 
    } 

    @Override 
    public void onDisabled(Context context) { 
     // TODO Auto-generated method stub 
     //super.onDisabled(context); 
     //Toast.makeText(context, "onDisabled()", Toast.LENGTH_LONG).show(); 
    } 



    @Override 
    public void onEnabled(Context context) { 
     // TODO Auto-generated method stub 
     super.onEnabled(context); 


    } 

    @Override 
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
      int[] appWidgetIds) { 
     // TODO Auto-generated method stub 
     super.onUpdate(context, appWidgetManager, appWidgetIds); 

     final int N = appWidgetIds.length; 
     for (int i=0; i<N; i++) { 
      int appWidgetId = appWidgetIds[i]; 
      updateAppWidget(context, appWidgetManager, appWidgetId); 

     } 

    } 

Répondre

2

cela fait partie de mon code, mais vous pouvez avoir une idée

@Override 
public void onEnabled(Context context) { 
    super.onEnabled(context); 

    AppWidgetManager appManager = AppWidgetManager.getInstance(context); 
    ComponentName thisWidget = new ComponentName(context, ExampleAppWidgetProvider.class); 
    RemoteViews updateViews = new RemoteViews(context.getPackageName(), R.layout.widget1); 
    updateViews.setTextColor(R.id.widget1label, Color.YELLOW); 
    appManager.updateAppWidget(thisWidget, updateViews); } 
Questions connexes