Это можно сделать, задав вашему приложению состояние, которое определяет страницу, которую он показывает в данный момент. И назначьте трансляцию кнопкам для изменения состояния.
- Отправка трансляции при нажатии кнопок с использованием PendingIntent .
- Приемник слушает трансляцию и отслеживает состояние (стр.)
- Обновление приложения в зависимости от текущего состояния
Вот пример неполного кода:
RemoteViews remoteViews = new RemoteViews(mContext.getPackageName(), R.layout.widget_weather);
// update appwidget remoteviews depending on state (ie which page to show)
remoteViews = populateViews(remoteViews, mState);
// set next button
Intent intent = new Intent(MYBROADCAST_NEXT);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, requestCode, intent, flags);
remoteViews.setOnClickPendingIntent(R.id.appwidget_btn_next, pendingIntent);
// set prev button
intent = new Intent(MYBROADCAST_PREV);
pendingIntent = PendingIntent.getBroadcast(context, requestCode, intent, flags);
remoteView.setOnClickPendingIntent(R.id.appwidget_btn_prev, pendingIntent);
// update the AppWidget ...
Надеюсь, это поможет достичь того, что вы хотите.