Android: comment désactiver les contrôles pendant la barre de progression est active
Je montre mon infinie de la barre de progression dans la barre d'action "comme d'habitude":
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
...
setProgressBarIndeterminateVisibility(true);
...
setProgressBarIndeterminateVisibility(false);
et le vrai travail est fait dans un thread d'arrière-plan (AsyncTask)
Le problème: tous les contrôles de l'INTERFACE utilisateur sont activés, de sorte que l'utilisateur peut continuer à modifier les données sous-jacentes avant la longue durée du processus est terminé.
Simplement de désactiver tous les contrôles n'est pas possible car lors de la désactivation d'un EditText, aussi le clavier est automatiquement fermée par Android.
Toutes les idées comment empêcher la saisie de l'utilisateur pendant le travail de fond?
Merci,
Chris
source d'informationauteur cor
Vous devez vous connecter pour publier un commentaire.
Ce que vous pouvez faire est de porter un invisible dialogue et l'empêcher d'être annulable. Il vous montrera tout ce qui est en dessous, mais de les désactiver tous les sous-tendent l'interaction de l'utilisateur. Ensuite, une fois que vous avez terminé avec votre entreprise, il vous suffit de le rejeter et de passer avec votre vie:
essayer de mettre
progressDialog.setcancelable(false);
Vous essayez de définir précisément la Propriété de l'Activité. Au lieu d'Apporter une boîte de dialogue à l'aide de
ProgressDialog, de sorte que l'Interface utilisateur ne sera pas accessible
Edit:
Si vous ne souhaitez pas utiliser ProgressDialog, obtenir la Racine de Mise en page et d'appel
dans le cas où, si quelqu'un a connu le même problème,
pour désactiver la modification du texte utilisation:
EditText.setFocusable(false);
pour activer l'édition:
EditText.setFocusableInTouchMode(true);