Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Since you are using invokeAndWait(), are you performing the HTTP operation in a worker thread? If not, you should be. The ActivityIndicator should be managed in the main dispatch thread, and the HTTP operation managed in a worker thread.</p> <p>For example:</p> <pre><code>view = new ActivityIndicatorView(Field.USE_ALL_WIDTH); ActivityIndicatorModel model = new ActivityIndicatorModel(); ActivityIndicatorController controller = new ActivityIndicatorController(); view.setController(controller); view.setModel(model); controller.setModel(model); controller.setView(view); model.setController(controller); Bitmap bitmap = Bitmap.getBitmapResource("spinner.png"); view.createActivityImageField(bitmap, 5, Field.FIELD_HCENTER); _activityFieldManager.add(view); UiApplication.getUiApplication().getActiveScreen().invalidate(); Thread thread = new Thread() { public void run() { try { new SyncWithDB(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } UiApplication.getUiApplication().invokeLater( new Runnable() { protected void run() { _activityFieldManager.delete(view); UiApplication.getUiApplication().getActiveScreen().invalidate(); Dialog.inform("Sync Complete"); } } ); } } thread.start(); </code></pre> <p>Or, a little more generically:</p> <pre><code>ActivityIndicatorView view; ActivityFieldManager _activityFieldManager; class SyncFinished extends Runnable { public void run() { _activityFieldManager.delete(view); UiApplication.getUiApplication().getActiveScreen().invalidate(); Dialog.inform("Sync Complete"); } } class SyncThread extends Thread { Runnable runWhenFinished; public SyncThread(Runnable r) { super(); runWhenFinished = r; } public void run() { try { new SyncWithDB(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if (runWhenFinished != null) UiApplication.getUiApplication().invokeLater(runWhenFinished); } } view = new ActivityIndicatorView(Field.USE_ALL_WIDTH); ActivityIndicatorModel model = new ActivityIndicatorModel(); ActivityIndicatorController controller = new ActivityIndicatorController(); view.setController(controller); view.setModel(model); controller.setModel(model); controller.setView(view); model.setController(controller); Bitmap bitmap = Bitmap.getBitmapResource("spinner.png"); view.createActivityImageField(bitmap, 5, Field.FIELD_HCENTER); _activityFieldManager.add(view); UiApplication.getUiApplication().getActiveScreen().invalidate(); SyncThread thread = new SyncThread(new SyncFinished()); thread.start(); </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload