Widget實(shí)例可以添加多個(gè)并獨(dú)立更新
Widget實(shí)例可以添加多個(gè)并獨(dú)立更新是本文要介紹的內(nèi)容,主要是來了解并學(xué)習(xí)Widget實(shí)例的應(yīng)用,具體內(nèi)容的實(shí)現(xiàn)來看本文詳解。本文的內(nèi)容不多,主要是以代碼來實(shí)現(xiàn)Widget實(shí)例的應(yīng)用。
widget可以添加多個(gè),但是要實(shí)現(xiàn)各個(gè)widget之間獨(dú)立更新就不那么容易了,在onUpdate方法中appWidgetIds是系統(tǒng)更新的widget的id集合,要想每個(gè)widgeet都獨(dú)立的更新就需要遍歷每個(gè)id,并且將id發(fā)給更新服務(wù)
- public void onUpdate(Context context, AppWidgetManager appWidgetManager,
- int[] appWidgetIds) {
- for(int i = 0 ; i < appWidgetIds.length ; i ++){
- RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
- //綁定點(diǎn)擊事件打開的configure
- Intent activity = new Intent(context, WidgetConfigure.class);
- activity.setData(Uri.parse(String.valueOf(appWidgetIds[i])));
- PendingIntent mPendingIntent = PendingIntent.getActivity(context, 0, activity, 0);
- views.setTextViewText(R.id.textView, "londing......");
- views.setOnClickPendingIntent(R.id.main_layout, mPendingIntent);
- appWidgetManager.updateAppWidget(appWidgetIds[i], views);
- //綁定根新服務(wù)
- service.putExtra("appWidgetId", appWidgetIds[i]);
- service.putExtra("flag", 0);
- context.startService(service);
- }
- }
然后根據(jù)獲得的id更新對應(yīng)的widgetViews,上面例子中還為widget設(shè)置了點(diǎn)擊事件,簡單的widget可以省略。
小結(jié):Widget實(shí)例可以添加多個(gè)并獨(dú)立更新的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助,希望通過Widget實(shí)例內(nèi)容的學(xué)習(xí)能對你有所幫助!