Re: [問題] Widget 的 onUpdate
問題解決了~
感謝 gpc 大的幫忙,知道問題出在哪邊了 orz
還是無法確定是否與 Flag 有關(我想應該是有的)
最主要會發生這個問題是網路上所說 API Level 14 之後 RemoteView
可以 Update 只部分。
這點確實沒錯:
void methodA(){
RemoteViews rv=new RemoteViews(/*略*/);
rv.setOnClickPendingIntent(R.id.btn1,btn1PendingIntent);
/* bla bla bla */
ComponentName thisWidget=/*略*/;
AppWidgetManager manager=AppWidgetManager.getInstance(context);
manager.updateAppWidget(thisWidget, rv);
methodB();
}
void methodB(){
RemoteViews rv=new RemoteViews(/*略*/);
rv.setOnClickPendingIntent(R.id.btn2,btn2PendingIntent);
/* bla bla bla */
ComponentName thisWidget=/*略*/;
AppWidgetManager manager=AppWidgetManager.getInstance(context);
manager.updateAppWidget(thisWidget, rv);
}
這樣下來確實 btn1 和 btn2 都會有所反應,沒有問題
但是在 launcher 重新啟動後,widget 只會剩下 btn2 有反應
因為我的寫法中在按下主要的底個些按鈕後會去 reset 另一個按鈕的 pendingIntent
用的就是上面那種方式,所以會造成後來按鈕都沒反應(只有最後一個有反應)
只要在每次 update 之前,重設全部 btn 的 pendingIntent 就解決了
希望如果有遇到相同問題的人可以幫到忙~ 也再次感謝 gpc 大~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.121.205.161
推
05/28 12:36, , 1F
05/28 12:36, 1F
→
05/28 12:37, , 2F
05/28 12:37, 2F
→
05/28 12:37, , 3F
05/28 12:37, 3F
討論串 (同標題文章)
完整討論串 (本文為第 4 之 4 篇):