Modifier le Texte écouteur

j'ai un edittext et un bouton dans ma disposition et dans mon code je mets keyListener du edittext comme null

    editText.setKeyListener(null);

pour que je ne puisse pas taper dans mon edittext . Maintenant sur mon bouton, je devrais être capable de taper dans mon ediitext . Comment puis-je le faire. C'est un problème simple, mais je ne suis pas en mesure de trouver une solution. Toute aide serait grandement appréciée.

12
demandé sur prolink007 2012-06-07 17:41:32

3 réponses

je suis probablement en retard maintenant, mais, c'est la façon dont je le fais:

public class MyActivity extends Activity
{
    private KeyListener listener;
    private EditText editText;

    public void onCreate(...)
    {
        editText = ... // Get EditText from somewhere
        listener = editText.getKeyListener(); // Save the default KeyListener!!!
        editText.setKeyListener(null); // Disable input
    }

    // When you click your button, restore the default KeyListener
    public void buttonClickHandler(...)
    {
        editText.setKeyListener(listener);
    }
}

Fondamentalement, vous devez d'abord enregistrer la EditText par défaut KeyListener avant d'appeler setKeyListener(null) . Ensuite, lorsque vous cliquez sur votre bouton, vous appelez setKeyListener de nouveau, en passant l'auditeur par défaut que vous avez précédemment enregistré.

22
répondu rainai 2015-11-25 14:41:00

vous pouvez utiliser ceci:

// When you click your button, restore the default KeyListener
public void buttonClickHandler(...)
{
    editText.setKeyListener(new EditText(getApplicationContext()).getKeyListener());
}
5
répondu Amr Tarek 2015-08-19 08:52:11

sa bug sur android Voir ici Bugs .

Mais dans le fichier xml, vous pouvez le faire.En utilisant android:editable="false"

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:editable="false" <<<<<<<
</EditText>
1
répondu Samir Mangroliya 2012-06-07 13:57:31