Widget实例可以添加多个并独立更新是本文要介绍的内容,主要是来了解并学习Widget实例的应用,具体内容的实现来看本文详解。本文的内容不多,主要是以代码来实现Widget实例的应用。

widget可以添加多个,但是要实现各个widget之间独立更新就不那么容易了,在onUpdate方法中appWidgetIds是系统更新的widget的id集合,要想每个widgeet都独立的更新就需要遍历每个id,并且将id发给更新服务

  1. public void onUpdate(Context context, AppWidgetManager appWidgetManager,  
  2.             int[] appWidgetIds) {  
  3.               
  4.         for(int i = 0 ; i < appWidgetIds.length ; i ++){  
  5.             RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);  
  6.         //绑定点击事件打开的configure  
  7.             Intent activity = new Intent(context, WidgetConfigure.class);  
  8.             activity.setData(Uri.parse(String.valueOf(appWidgetIds[i])));  
  9.             PendingIntent mPendingIntent = PendingIntent.getActivity(context, 0, activity, 0);  
  10.             views.setTextViewText(R.id.textView, "londing......");  
  11.             views.setOnClickPendingIntent(R.id.main_layout, mPendingIntent);  
  12.             appWidgetManager.updateAppWidget(appWidgetIds[i], views);  
  13.        //绑定根新服务  
  14.             service.putExtra("appWidgetId", appWidgetIds[i]);  
  15.             service.putExtra("flag", 0);  
  16.             context.startService(service);  
  17.         }    
  18.  } 

然后根据获得的id更新对应的widgetViews,上面例子中还为widget设置了点击事件,简单的widget可以省略。

小结:Widget实例可以添加多个并独立更新的内容介绍完了,希望通过本文的学习能对你有所帮助,希望通过Widget实例内容的学习能对你有所帮助!