[英]In my broadcast receiver 's onreceive() method, how can I tell the origin of the Intent
[英]How can I build my onReceive method in my Android Widget class to toggle the image of an ImageView?
由於有了一些教程,我現在構建了我的第一個可運行的小Android Widget。
它有一個ImageView,當我單擊它時會更改它的圖像。
但現在我想多次單擊它,以切換到另一個圖像,就像切換按鈕一樣。
因此,我在onReceive方法中設置了以下IF約束:
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION_WIDGET_RECEIVER)) {
try {
if(counter %2 == 0) {
views.setImageViewResource(R.id.iv1, R.drawable.button_state1);
cn1 = new (context, MyDailyPlateWidgetProvider.class);
AppWidgetManager.getInstance(context).updateAppWidget(cn1, views);
counter++;
} else { counter++;
views.setImageViewResource(R.id.iv1, R.drawable.button_state2);
cn2 = new (context, MyDailyPlateWidgetProvider.class);
AppWidgetManager..getInstance(context).updateAppWidget(cn2, views);
}
}
// ...
}
但是在我看來,我不能持久地使用counter++
修改我的int counter
。
是否可以通過單擊窗口小部件或其他解決方案在窗口小部件中建立某種切換行為的方式來設置類的int值?
如果沒有運行的后台服務,這是否有可能?
在其他情況下,您無法增加計數器。 想象一下計數器是第一個0,因此(counter%2 == 0)為true,所以它是第一個部分,並增加了計數器。 下次計數器為1,因此(counter%2 == 0)為false,因此它每次都執行第二部分,因為計數器永遠是1! 每次只增加計數器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.