0

簡単な質問があります (簡単だといいのですが)。

ウィジェットで adapterviewflipper を使用してみました。このコードをここでテストしました。

ホームスクリーンにウィジェットのインスタンスが 1 つしかない場合、コードは私にとっては問題なく機能します。しかし、ウィジェットの別のインスタンスを作成すると、事態が混乱します。すべてのウィジェット インスタンスの次のボタンは、最後に作成されたウィジェットにのみ影響しますが、これは誤りです。

誰でもこれに対処する方法を知っていますか?

前もって感謝します!

4

2 に答える 2

4

その理由は、各ウィジェット インスタンスに設定した PendingIntent が、システムによって同一と見なされるためです。ウィジェット インスタンスごとに異なる requestCode を設定できます。たとえば、次のように PendingIntent を定義できます。

final PendingIntent pendingIntent = PendingIntent.getBroadcast(context, **appWidgetId**, intent, PendingIntent.FLAG_UPDATE_CURRENT);

参照: 最後のウィジェットを更新するウィジェットのみの複数のインスタンス

上記のページでは、PendingIntent の setData では問題が解決しない場合があることに注意してください。ただし、異なる requestCode を設定すると、常にそうなります。

于 2013-10-17T08:10:39.360 に答える
0

ファイル WidgetProvider.java、onUpdate()、PendingIntent はリクエスト コード 0 を使用します。これをウィジェット ID に置き換えます。

final PendingIntent nextPendingIntent = PendingIntent
                .getBroadcast(context, id, nextIntent,
                        PendingIntent.FLAG_UPDATE_CURRENT);
于 2015-06-05T00:20:38.590 に答える