私はそれを簡単にします。ウィジェットコードがあります。私のウィジェット レイアウトには、1 つのボタンを含む線形レイアウトが含まれています。私のウィジェット コードでは、いくつかの値を含む文字列リストを初期化します。ウィジェットのボタンをクリックすると、リストをいくつかの値で更新する必要があります。
だから、これは私のコードです、
List<String> myList = null;
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
myList = new List<String>();
myList.add("1");
myList.add("2");
...
Intent intent = new Intent(context, getClass());
intent.setAction("CALL_UPDATE");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.button, pendingIntent);
....
}
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("CALL_UPDATE")) {
Toast.makeText(context, "Intent received"+myList , 2000).show();
}
}
ボタンがクリックされると、ブロードキャストは onReceive() によって正しく受信されます。問題は、onReceive() で、一部の文字列オブジェクトが以前に追加されたため、リストに一部の値ではなく null が表示されることです。
誰でも助けることができますか?
どうも!ラフル。