code: private void showErrorIconHax(Drawable icon) {
          if (icon == null)
              return;
  
          // only for JB 4.2 and 4.2.1
          if (android.os.Build.VERSION.SDK_INT != Build.VERSION_CODES.JELLY_BEAN
                  && android.os.Build.VERSION.SDK_INT != Build.VERSION_CODES.JELLY_BEAN_MR1)
              return;
  
          try {
              Class<?> textview = Class.forName("android.widget.TextView");
              Field tEditor = textview.getDeclaredField("mEditor");
              tEditor.setAccessible(true);
              Class<?> editor = Class.forName("android.widget.Editor");
              Method privateShowError = editor.getDeclaredMethod("setErrorIcon",
                      Drawable.class);
              privateShowError.setAccessible(true);
              privateShowError.invoke(tEditor.get(this), icon);
          } catch (Exception e) {
              // e.printStackTrace(); // oh well, we tried
          }
      }
docs: Use reflection to force the error icon to show. Dirty but resolves the
  issue in 4.2