Invité hardrocky Posté(e) 2 février 2013 Share Posté(e) 2 février 2013 Bonjour à tous. Voilà un bout de code : public void onInit(int status) { // Synthèse if (status == TextToSpeech.SUCCESS) { int result; String langue = Locale.getDefault().getLanguage(); // Selon la langue if (langue.equalsIgnoreCase("fr")) { result = tts.setLanguage(Locale.FRENCH); } else { result = tts.setLanguage(Locale.ENGLISH); } if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.dialogttstitle); builder.setMessage(R.string.dialogttstext); builder.setPositiveButton(R.string.dialogttsyes, new DialogInterface.onclickListener() { @Override public void onclick(DialogInterface dialog, int which) { // ACTIONS } }); builder.setNegativeButton(R.string.dialogttsno, new DialogInterface.onclickListener() { @Override public void onclick(DialogInterface dialog, int which) { // ACTIONS } }); AlertDialog alert = builder.create(); alert.show(); } } Ce code affiche au lancement de l'application une dialogbox si une langue n'est pas installée (pour la synthèse vocale). Or, cette dialogbox se re-affiche si l'on tourne l'écran. Comment empêcher cela ? Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sporniket Posté(e) 4 février 2013 Share Posté(e) 4 février 2013 Par défaut, l'activité se relance au changement d'orientation, d'où ton problème ==> dans le manifest.xml : soit tu fige l'orientation de l'écran, soit tu spécifies que tu prends en charge les changements d'orientation et tu implémentes le onXxx correspondant. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité hardrocky Posté(e) 10 février 2013 Share Posté(e) 10 février 2013 Ta première option ne me convient pas. J'ai plutot fait la deuxième, avec une variable static qui vaut 0 et 1 si la dialogbox a déjà été affichée. Je fais un if avec la variable pour voir si la dialogbox a été lancée et si ce n'est pas le cas, je l'affiche. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.