3

ホーム画面に2つのウィジェットがあります。Main アクティビティから単一のウィジェットを更新する方法を知っています。次のコードは、メイン アクティビティの [戻る] ボタンを押すと、単一のウィジェットを更新します。

@Override
public void onBackPressed() {
    Intent intent = new Intent(this, todo_widget.class);
    intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
    int[] ids = AppWidgetManager.getInstance(getApplication())
            .getAppWidgetIds(
                    new ComponentName(getApplication(),         todo_widget.class));
    intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids);
    sendBroadcast(intent);}

しかし、コードを次のように配置すると、両方のウィジェットが更新されません:-

@Override
public void onBackPressed() {
    Intent intent = new Intent(this, todo_widget.class);
    intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
    int[] ids = AppWidgetManager.getInstance(getApplication())
            .getAppWidgetIds(
                    new ComponentName(getApplication(),     todo_widget.class));
    intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids);
    sendBroadcast(intent);
    Intent intent1 = new Intent(this, todo_widget2.class);
    intent1.setAction("android.appwidget.action.APPWIDGET_UPDATE");
    int[] ids1 = AppWidgetManager.getInstance(getApplication())
            .getAppWidgetIds(
                    new ComponentName(getApplication(), todo_widget2.class));
    intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids1);
    sendBroadcast(intent1);
    this.finish();
}

誰かがこれから私を助けてください。戻るボタンを押したとき、またはメイン アクティビティが作成されたときに、両方のウィジェットを更新するにはどうすればよいですか?

4

0 に答える 0