Android: Activer / Désactiver un bouton lors de l'Exécution?

Ok, donc j'ai deux boutons. La première est de "Charger le Texte" et la deuxième est de "Parler".

Maintenant, je ne veux pas le bouton Parler pour être active lorsque aucun texte n'est chargé.

J'ai réussi à mettre en valeur dans l'EditText en Charge le Texte du bouton onClickListener méthode. À l'intérieur de la même méthode que j'ai appelé,

btnSpeak.setEnabled(true);

J'ai initialisé ce que,

btnSpeak = (Button) findViewById(R.id.button1);

L'ensemble de codage est,

@Override
public void onInit(int status) {

    if (status == TextToSpeech.SUCCESS) {

        int result = tts.setLanguage(Locale.US);

        if (result == TextToSpeech.LANG_MISSING_DATA
        || result == TextToSpeech.LANG_NOT_SUPPORTED) {
            Log.e("TTS", "This Language is not supported");
        } else {
            btnSpeak.setEnabled(true);
            //for checking
            if(btnSpeak.isEnabled())
            {
                Toast.makeText(SimpleAndroidOCRActivity.this, "Button should work!", Toast.LENGTH_SHORT).show();
            }
            else
            {
                Toast.makeText(SimpleAndroidOCRActivity.this, "Button should not work!", Toast.LENGTH_SHORT).show();
            }
        }

    } else {
        Log.e("TTS", "Initilization Failed!");
    }

}

C'est à vérifier l'état et de l'affecter de la langue pour le TTS pour une utilisation ultérieure. Je reçois le pain grillé comme "Bouton doit travailler", mais il n'est pas activé. Pourquoi est-il si? Quel est le contourner?

J'ai en .fichier xml,

<Button
    android:id="@+id/button1"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_width="200dp"
    android:enabled="false"
    android:text="@string/tts_text" />

Devrait je l'ai activé ici et puis désactiver et activer dans runtime??

  • vérifiez si vous avez initialisé le bouton avec le bon id
  • Oui, j'ai avec l'id correct.
InformationsquelleAutor iMan | 2013-04-23