2017-08-11 1 views
0

J'ai ProgressDialog dans mon activité et je veux l'ignorer lorsque je clique sur le bouton BackButton de la barre d'outils. J'ai ajouté la fonction OnKey pour gérer la fonctionnalité de BackButton de Phone et cela fonctionne bien, mais quand je clique sur BackButton dans la barre d'outils cela ne fonctionne pas.Définir ProgressDialog ignorer sur le bouton Précédent Dans la barre d'outils

Public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { 
      if (keyCode == KeyEvent.KEYCODE_BACK) { 
       progressdialog.dismiss(); 
       finish(); 

      } 
      return true; 
     } 

J'ai ajouté méthode setOnclickListener sur BackButton de la barre d'outils, mais il ne fonctionne que lorsque les données sont entièrement Loaded à partir de la base de données et lorsque le recours est rejeté ProgressDialog pour revenir à l'activité précédente.

+0

est-ce que vous appelez progressdialog.show() dans une asyncTask? – yasin

+0

Désolé, mais je n'ai pas compris votre question. @yasin – ASH

Répondre

1

ProgressDilog est une boîte de dialogue modale qui signifie que l'utilisateur peut interagir avec l'application de quelque façon que ce soit. Il n'est donc pas possible d'appuyer sur un bouton lorsque la boîte de dialogue est affichée. Dialog peut être rejeté par le bouton de retour et vous n'avez même pas besoin de sous-classer et de remplacer la méthode onKey, vous pouvez simplement appeler correct static method for displaying.

Vous devriez probablement envisager un autre moyen de montrer la progression à l'utilisateur. ProgressDilaog est obsolète.

De l'documentation:

Cette classe a été dépréciée au niveau de l'API 26. ProgressDialog est une boîte de dialogue modale, ce qui empêche l'utilisateur d'interagir avec l'application. Au lieu d'utiliser cette classe, vous devez utiliser un indicateur de progression tel que ProgressBar, qui peut être intégré dans l'interface utilisateur de votre application. Vous pouvez également utiliser une notification pour informer l'utilisateur de la progression de la tâche.

+0

Merci d'avoir résolu mon problème. Maintenant, je vais essayer de trouver une autre approche .. – ASH