2011-06-21 5 views
0

J'ai en fait une activité appelée "Creation.java" qui donne accès à différents onglets et cela fonctionne très bien.Android: Échange de vues entre les onglets

Mes onglets sont des activités et contiennent des vues différentes comme EditText ou Spinners. Comme j'ai beaucoup de données à sauvegarder (vraiment beaucoup) je voudrais proposer à l'utilisateur de remplir toutes les vues en basculant entre les onglets puis, dans un dernier onglet, de valider toutes les données et de les écrire dans un fichier xml.

Mais il semble que je ne puisse pas accéder aux données depuis, par exemple mon premier onglet afin de le valider dans le dernier onglet avec un bouton de validation.

Exemple pour une création de client dans creationclient.xml qui est situé dans le CreationClient.java d'activité:

 <EditText android:id="@+id/nom1" 
      android:layout_width="@dimen/margexlarge" 
      android:layout_height="wrap_content" 
      android:text="Nom" 
      /> 
     <EditText android:id="@+id/prenom1" 
      android:layout_width="@dimen/margexlarge" 
      android:layout_height="wrap_content" 
      android:text="Prénom" 
      /> 

Je ne peux pas le contenu validation.java, je reçois une erreur car il peut » t obtenir la chaîne de la vue:

nom1 = (EditText) findViewById(R.id.nom1); 
    prenom1 = (EditText) findViewById(R.id.prenom1); 
    validationDuDossier = (Button) findViewById(R.id.validationdudossier); 
    idDossier = ((nom1.getText().toString().substring(0, 2)) + (prenom1.getText().toString().substring(0,2))); 

donc, mon point est: Puis-je avoir accès aux données d'une mise en page a dans une activité B même si je l'ai mis une mise en page B dans cette activité? Ou ai-je un accès exclusif aux données de la mise en page que j'ai définie pour mon activité?

Répondre

0

Vous devez lier le texte d'édition au dernier onglet. En faisant soit par exemple.

info.getText().toString(lastTab); 

ou vous pouvez faire comme suit

lastTab = info.getText().toString(); 

De là, vous le lien lastTab contenant les informations à la dernière TextView Views ou comment jamais vous affichez les informations.

+0

Je ne comprends pas ce que vous voulez dire, comment pouvez-vous spécifier un argument pour la méthode toString()? Alors, quel type est le lastTab? Cette méthode ne prend aucun args. – beluga

+0

Vous devrez lier les informations du premier onglet de votre activité au dernier onglet. Si vous avez des classes différentes pour chaque onglet, vous devrez stocker les informations que l'utilisateur entre dans une base de données SQLite. Si elle est dans la même classe, vous devrez créer des variables pour un onglet et rendre les informations à la dernière donnée au moyen de quelque chose comme ceci: LastInfo = FirstInfo.getText(). toString; puis utilisez la variable LastInfo pour afficher les informations dans le dernier onglet. – theITRanger22

Questions connexes