スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

setOnClickPendingIntent を使うときにハマったこと

こんばんは

以前から悩んでたsetOnClickPendingIntentが動作してくれない問題


原因は

updateAppWidgetをしてなかったから
これをしないとウィジェットにセットしたクリックリスナーが反映されずに何回押しても反応しないようです
具体的にはsetOnClickPendingIntent より下に以下の3行を追加すればいいはず


AppWidgetManager manager = AppWidgetManager.getInstance(this);
ComponentName widget = new ComponentName(<パッケージ名>, );
manager.updateAppWidget(widget, view);
(viewはRemoteView のオブジェクト)

意外とここをちゃんと書いてる本とかWebページってないような気がするなぁ
書いてはいるけど"Widgetの中身の変更を反映するために"って書いてるのがほとんどのような...
下にリンク貼ってる参考Webページ見るまで気付かなかったです

まぁsetって書いてたら反映させとダメって言うのはプログラミングとかではよくある話だわなぁ、と見つけてから思ったり
昔gnuplot でグラフをファイルに出力するときにもset output した後にplot せずに"ファイルが出力されない なんでや"みたいなことしてた自分がいたなぁとか思ったり

まぁset→反映という流れを忘れずにということですね

<参考URL>
横浜デ部 RemotableViewMethod
スポンサーサイト

コメント

非公開コメント

最新記事
カテゴリ
最新コメント
月別アーカイブ
最新トラックバック
カウンター
プロフィール
情報科学を専攻している大学院生. OSとかHypervisor とかいじってます.

時羽金也

Author:時羽金也

リンク
検索フォーム
QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。