diff --git a/app/src/main/java/com/google/reviewit/AbandonFragment.java b/app/src/main/java/com/google/reviewit/AbandonFragment.java
index ca99768..839617f 100644
--- a/app/src/main/java/com/google/reviewit/AbandonFragment.java
+++ b/app/src/main/java/com/google/reviewit/AbandonFragment.java
@@ -87,6 +87,7 @@
               v.setBackgroundColor(widgetUtil.color(R.color.button));
               widgetUtil.showError(errorMsg);
             } else {
+              widgetUtil.toast(R.string.change_abandoned);
               display(SortChangesFragment.class);
             }
           }
diff --git a/app/src/main/java/com/google/reviewit/AddReviewerFragment.java b/app/src/main/java/com/google/reviewit/AddReviewerFragment.java
index bfffba8..fc3ffcb 100644
--- a/app/src/main/java/com/google/reviewit/AddReviewerFragment.java
+++ b/app/src/main/java/com/google/reviewit/AddReviewerFragment.java
@@ -131,6 +131,8 @@
         if (errorMsg != null) {
           widgetUtil.showError(errorMsg);
         } else {
+          widgetUtil.toast(R.string.reviewer_added);
+
           AddReviewerFragment fragment = new AddReviewerFragment();
           Bundle bundle = new Bundle();
           bundle.putAll(getArguments());
diff --git a/app/src/main/java/com/google/reviewit/DetailedChangeFragment.java b/app/src/main/java/com/google/reviewit/DetailedChangeFragment.java
index 8e0b3a3..27e8cef 100644
--- a/app/src/main/java/com/google/reviewit/DetailedChangeFragment.java
+++ b/app/src/main/java/com/google/reviewit/DetailedChangeFragment.java
@@ -177,6 +177,7 @@
         return true;
       case R.id.action_ignore:
         actionHandler.ignore();
+        widgetUtil.toast(R.string.change_ignored);
         startActivity(new Intent(getActivity(), MainActivity.class));
         return true;
       case R.id.action_restore:
@@ -184,10 +185,12 @@
         return true;
       case R.id.action_skip:
         actionHandler.skip();
+        widgetUtil.toast(R.string.change_skipped);
         startActivity(new Intent(getActivity(), MainActivity.class));
         return true;
       case R.id.action_star:
         actionHandler.star();
+        widgetUtil.toast(R.string.change_starred);
         startActivity(new Intent(getActivity(), MainActivity.class));
         return true;
       default:
diff --git a/app/src/main/java/com/google/reviewit/QuerySettingsFragment.java b/app/src/main/java/com/google/reviewit/QuerySettingsFragment.java
index 61f6186..ce853cb 100644
--- a/app/src/main/java/com/google/reviewit/QuerySettingsFragment.java
+++ b/app/src/main/java/com/google/reviewit/QuerySettingsFragment.java
@@ -113,6 +113,8 @@
             .setQuery(textOf(R.id.queryInput))
             .setLabel(textOf(R.id.labelInput))
             .build());
+    widgetUtil.toast(R.string.query_saved);
+
     switch (getApp().getPrefs().startScreen) {
       case REVIEW_SCREEN:
         display(ReviewChangesFragment.class);
diff --git a/app/src/main/java/com/google/reviewit/RestoreFragment.java b/app/src/main/java/com/google/reviewit/RestoreFragment.java
index e51ebfa..6bbc664 100644
--- a/app/src/main/java/com/google/reviewit/RestoreFragment.java
+++ b/app/src/main/java/com/google/reviewit/RestoreFragment.java
@@ -87,6 +87,7 @@
               v.setBackgroundColor(widgetUtil.color(R.color.button));
               widgetUtil.showError(errorMsg);
             } else {
+              widgetUtil.toast(R.string.change_restored);
               display(SortChangesFragment.class);
             }
           }
diff --git a/app/src/main/java/com/google/reviewit/ServerSettingsFragment.java b/app/src/main/java/com/google/reviewit/ServerSettingsFragment.java
index 52c5532..1f0c35b 100644
--- a/app/src/main/java/com/google/reviewit/ServerSettingsFragment.java
+++ b/app/src/main/java/com/google/reviewit/ServerSettingsFragment.java
@@ -350,6 +350,7 @@
               .build());
       startActivity(new Intent(getContext(), MainActivity.class));
     } else {
+      widgetUtil.toast(R.string.server_settings_saved);
       display(ServerListFragment.class);
     }
   }
diff --git a/app/src/main/java/com/google/reviewit/SortChangesFragment.java b/app/src/main/java/com/google/reviewit/SortChangesFragment.java
index 0079bd7..8603619 100644
--- a/app/src/main/java/com/google/reviewit/SortChangesFragment.java
+++ b/app/src/main/java/com/google/reviewit/SortChangesFragment.java
@@ -243,6 +243,7 @@
         disableButtons();
         getSortActionHandler().skip();
         animate(changeBox, SortActionHandler.Action.SKIP);
+        widgetUtil.toast(R.string.change_skipped);
       }
     });
 
@@ -251,6 +252,7 @@
         disableButtons();
         getSortActionHandler().star();
         animate(changeBox, SortActionHandler.Action.STAR);
+        widgetUtil.toast(R.string.change_starred);
       }
     };
     v(R.id.starButton).setOnClickListener(onStarClickListener);
@@ -261,6 +263,7 @@
         disableButtons();
         getSortActionHandler().ignore();
         animate(changeBox, SortActionHandler.Action.IGNORE);
+        widgetUtil.toast(R.string.change_ignored);
       }
     };
     v(R.id.ignoreButton).setOnClickListener(onIgnoreClickListener);
@@ -362,16 +365,19 @@
             switch (action) {
               case STAR:
                 getSortActionHandler().star();
+                widgetUtil.toast(R.string.change_starred);
                 resultBox.removeView(changeBox);
                 display();
                 break;
               case IGNORE:
                 getSortActionHandler().ignore();
+                widgetUtil.toast(R.string.change_ignored);
                 resultBox.removeView(changeBox);
                 display();
                 break;
               case SKIP:
                 getSortActionHandler().skip();
+                widgetUtil.toast(R.string.change_skipped);
                 resultBox.removeView(changeBox);
                 display();
                 break;
diff --git a/app/src/main/java/com/google/reviewit/util/WidgetUtil.java b/app/src/main/java/com/google/reviewit/util/WidgetUtil.java
index 270230d..e21b110 100644
--- a/app/src/main/java/com/google/reviewit/util/WidgetUtil.java
+++ b/app/src/main/java/com/google/reviewit/util/WidgetUtil.java
@@ -33,6 +33,7 @@
 import android.widget.ImageView;
 import android.widget.TableRow;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import com.google.gerrit.extensions.common.AccountInfo;
 import com.google.reviewit.AvatarTask;
@@ -96,6 +97,14 @@
         | Paint.UNDERLINE_TEXT_FLAG);
   }
 
+  public void toast(@StringRes int stringId) {
+    Toast.makeText(
+        context,
+        context.getString(stringId),
+        Toast.LENGTH_SHORT
+    ).show();
+  }
+
   public void showError(@StringRes int id) {
     showError(context.getString(id));
   }
diff --git a/app/src/main/java/com/google/reviewit/widget/PostReviewView.java b/app/src/main/java/com/google/reviewit/widget/PostReviewView.java
index 47e7aae..3f9b07e 100644
--- a/app/src/main/java/com/google/reviewit/widget/PostReviewView.java
+++ b/app/src/main/java/com/google/reviewit/widget/PostReviewView.java
@@ -128,6 +128,7 @@
                   v.setBackgroundColor(widgetUtil.color(R.color.button));
                   widgetUtil.showError(errorMsg);
                 } else {
+                  widgetUtil.toast(R.string.review_posted);
                   origin.display(target);
                 }
               }
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5ad8715..b11a66c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -20,6 +20,9 @@
 
   <!-- SortChangesFragment -->
   <string name="branch">branch:</string>
+  <string name="change_ignored">Change Ignored</string>
+  <string name="change_skipped">Change Skipped</string>
+  <string name="change_starred">Change Starred</string>
   <string name="help">Help</string>
   <string name="project">project:</string>
   <string name="reload_error">Reloading change failed with %1$d %2$s</string>
@@ -127,6 +130,7 @@
   <string name="title_activity_add_reviewer">Add Reviewer</string>
   <string name="add_reviewer_error">Add reviewer failed with %1$d %2$s</string>
   <string name="ccs">CC\'s:</string>
+  <string name="reviewer_added">Reviewer Added</string>
   <string name="reviewer_hint">Fullname or Email</string>
   <string name="reviewers">Reviewers:</string>
   <string name="no_reviewers">No Reviewers</string>
@@ -165,8 +169,9 @@
   <string name="servers">Servers:</string>
   <string name="server_remove_message">Are you sure you want to delete server \'%1$s\'</string>
   <string name="server_remove_title">Delete Server</string>
-    <string name="storage_info">The server configuration is stored in the application preferences.
-        All values are encrypted.</string>
+  <string name="server_settings_saved">Server Settings Saved</string>
+  <string name="storage_info">The server configuration is stored in the application preferences.
+      All values are encrypted.</string>
   <string name="test_server_connection">Testing connection to the server ...</string>
   <string name="test_server_connection_ok">OK</string>
   <string name="test_server_connection_failed">FAILED</string>
@@ -182,6 +187,7 @@
   <string name="user_hint">Gerrit User</string>
   <string name="query">Query*:</string>
   <string name="query_hint">Change Query</string>
+  <string name="query_saved">Query Saved</string>
 
   <!-- SettingsFragment - menu -->
   <string name="action_clean_avatar_cache">Clean avatar cache</string>
@@ -223,10 +229,12 @@
   <string name="abandon_change_title">Abandon Change %1$d</string>
   <string name="abandon">Abandon</string>
   <string name="abandon_error">Abandon failed with %1$d %2$s</string>
+  <string name="change_abandoned">Change Abandoned</string>
   <string name="reason">Reason:</string>
 
   <!-- RestoreFragment -->
   <string name="title_activity_restore">Restore Change</string>
+  <string name="change_restored">Change Restored</string>
   <string name="restore_change_title">Restore Change %1$d</string>
   <string name="restore">Restore</string>
   <string name="restore_error">Restore failed with %1$d %2$s</string>
@@ -245,6 +253,7 @@
   <string name="publish">Publish</string>
   <string name="publishAndSubmit">Publish and Submit</string>
   <string name="review_error">Posting review failed with %1$d %2$s</string>
+  <string name="review_posted">Review Posted</string>
   <string name="submit_error">Submit failed with %1$d %2$s</string>
 
   <!-- PagedChangeDetailsFragment -->
