2010-11-30 27 views
0

Dans mon projet, j'ai deux activités ou classes. Dans la première activité j'ai un EditText et je veux obtenir le texte de la deuxième classe.Android: problème dans la méthode getText de EditText

Dans le premier cours, j'ai écrit ce code, mais il semble avoir un problème.

public String getTextMessage() 
{ 
    return textMessage.getText().toString(); 
} 

parce que dans la deuxième classe quand je veux l'obtenir, programmer des accidents.

message = encode.getTextMessage(); 

Quelle est votre suggestion?

+0

Envoyez le logcat s'il vous plaît. Etes-vous sûr d'avoir initialisé 'encoder '? – EboMike

+0

Oui, ça et est-ce que 'textMessage' est une variable de classe? – kcoppock

+0

probablement textMessage = null? as-tu trouvé findViewById en haut? avez-vous donné le bon identifiant? oui, logcat s'il vous plaît et plus de lignes de code. comme où est l'autre classe, quand est-il appelé ... –

Répondre

1

Accédez au texte avec getText() à partir du texte d'édition et stockez-le dans une chaîne. lorsque vous passez à la deuxième activité envoyée chaîne variable à la deuxième classe via bundle. Extraire le bundel en deuxième classe et l'utiliser.

+0

c'est probablement la façon dont il doit aller .. mais à cause du manque d'information, nous ne sommes pas vraiment sûr de ce qu'il veut faire: D –

+0

envoyer votre code et logcat information –

1

Vous devez passer la valeur par les intentions

2

Comme dit par sunil vous devez d'abord obtenir la chaîne de edittextbox et par l'intention envoyer à une seconde activité. Après le début de la deuxième activité, vous devez obtenir le texte du bundle. extrait de code est donné ci-dessous ...

Activité A

  Intent i = new Intent(this, Second.class); 
      i.putExtra("EXTRATEXT", editText.gettext().toString()); 
      startActivity(i); 

Activité B

Class Second extends Activity{ 
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     String text = getIntent().getExtras().getString("EXTRATEXT"); 
    }