我想为我的整个小部件布局设置一个setOnClickPendingIntent
,但是我还没有找到一种方法来做到这一点。我想这很琐碎,但我却忽略了它。目前,我正在为布局中的每个视图设置一个意图,这使我的代码非常混乱。这是我目前正在做的事情:
remView = new RemoteViews(ctxContext.getPackageName(), R.layout.initial);
Intent ittRetry = new Intent(ctxContext, SettingsActivity.class);
ittRetry.setAction(AppWidgetManager.ACTION_APPWIDGET_CONFIGURE);
ittRetry.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, intInstance);
PendingIntent pitRetry = PendingIntent.getBroadcast(ctxContext, 0, ittRetry, PendingIntent.FLAG_UPDATE_CURRENT);
remView.setOnClickPendingIntent(R.id.widget_rows, pitRetry);
remView.setOnClickPendingIntent(R.id.widget_message, pitRetry);
wigManager.updateAppWidget(intInstance, remView);
最佳答案
目前,我正在为布局中的每个视图设置一个意图,这使我的代码非常混乱
但是,这是您唯一的选择。您必须为每个要单击控制的窗口小部件调用setOnClickPendingIntent()
。
欢迎您使用循环,将小部件ID放入数组中并在该数组上进行迭代,每次通过均调用setOnClickPendingIntent()
。