2011-09-06 4 views
3

J'ai un problème avec le remplissage d'un edittext. En utilisant le code suivant je peux définir le texte très bien, mais ce que j'essaie de faire est d'ajouter à l'edittext. Par exemple, le code suivant affiche un "1" dans mon edittext mais si je l'appuie de nouveau il remplace juste le "1" avec "1" et ainsi de suite. Ce dont j'ai besoin, c'est d'afficher "1111" si je l'appuie quatre fois.Comment ajouter du texte à editext

Heres mon code:

@Override 
    public void onClick(View v) { 
     switch (v.getId()) { 
        case R.id.button1: 

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

         Bundle bundle = new Bundle(); 
         bundle.putString("number1", txtnum.getText().toString()); 
         String title = bundle.getString("number1"); 
         ((EditText) findViewById(R.id.editText1)).setText(title); 



         break; 

Hope this fait sence. (Je suis un noob) Si quelqu'un peut m'aider avec cela, je l'apprécierais vraiment. merci Steve

+0

utilisation 'append()'. –

Répondre

14

essayer ce code

String title = bundle.getString("number1"); 
EditText editText = (EditText) findViewById(R.id.editText1); 
editText.append(title); 

si vous souhaitez définir la seule nouvelle utilisation de la valeur de cette

editText.setText(title); 
1

doit être aussi simple que:

editText.setText("hello"); 

Dans votre code:

EditText editText=(EditText)findViewById(R.id.x); 
editText.setText("hello"); 
+1

Désolé, cela ne répond pas à sa question. Il veut ajouter au texte déjà existant. – Ricky

1

Vous auriez besoin editText.setText(editText.getText() + "string");.

EditText et = (EditText) findViewById(R.id.editText1); 
et.setText(et.getText() + title); 
0
String title = bundle.getString("number1"); 
EditText editText = (EditText) findViewById(R.id.editText1); 
editText.setText(editText.getText().toString() + title); 
+0

merci ça a marché .. vous les gars sont rapides !! alors disons que je voulais supprimer un à la fois si par exemple l'utilisateur l'a pressé trop de temps savez-vous comment j'irais à ce sujet? – steo

+0

Pour obtenir le contenu actuel de l'édition de texte: editText.getText(). ToString(), changez la chaîne comme vous le souhaitez (par exemple en supprimant le dernier caractère) et utilisez la chaîne résultante dans votre editText: editText.setText (myNewString); – Macondo2Seattle

+0

merci l'homme l'a obtenu pour travailler, et merci à tous ceux qui ont répondu – steo

1

Set modifier le texte à la valeur previuos plus la nouvelle valeur.

EditText et = (EditText) findViewById(R.id.editText1); 
et.setText(et.GetText() + title); 
+0

'(EditText) findViewById (R.id.editText1)' Des crochets supplémentaires ne sont pas nécessaires. – Graeme

+0

Oui, j'ai copié le code de la question et je ne l'ai pas examiné. Le péché du développeur. – adamcodes