AppWidgetでのonClickの取り方
2009 年 6 月 20 日
コメントはありません
AppWidget上でのクリックイベントは、公式ドキュメントにあるようにPendingIntentを使って取得することができます。
AppWidgetProvider.onUpdateの中でビューをアップデートするときに、そのビューに対してPendingIntentを仕掛けてあげればOKです。
public class SampleWidgetProvider extends AppWidgetProvider {
public void onUpdate(
Context context,
AppWidgetManager appWidgetManager,
int[] appWidgetIds
){
for(int id : appWidgetIds){
// 起動するActivityのIntentを作成する
Intent intent = new Intent(context, SampleWidgetActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
// onClickリスナを設定する
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
views.setOnClickPendingIntent(R.id.TextView01, pendingIntent);
// AppWidgetを更新する
appWidgetManager.updateAppWidget(id, views);
}
}
}
