IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

XML ANDROID - recopie d''une valeur d'un champ dans un autre


Sujet :

XML/XSL et SOAP

  1. #1
    Membre habitué
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 293
    Points : 145
    Points
    145
    Par défaut XML ANDROID - recopie d''une valeur d'un champ dans un autre
    Bonjour

    Est-il possible d'affecter au champ d'un TextView (par exemple android:Text=) la valeur d'un champ Button1 (par exemple android:Tag ="Message").
    J'ai essayé de mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     android:Text = "@+id/Button1.Tag"
    mais j'obtiens "False" à la place de mon message.

    Si quelqu'un avait une réponse.

    Merci

    Michel

  2. #2
    Membre habitué Avatar de Adenora
    Femme Profil pro
    Développeuse ABAP
    Inscrit en
    Octobre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeuse ABAP

    Informations forums :
    Inscription : Octobre 2008
    Messages : 148
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    Je te propose la solution suivante :
    - Ajouter la chaîne de caractères souhaitée pour le tag du bouton et le texte dans le fichier XML des chaînes (strings.xml) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="test">Message</string>
    </resources>
    - Ajouter cette chaîne dans le fichier XML de l'activité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:tag="@string/test"
            android:text="@string/test" />
     
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/test" />

  3. #3
    Membre habitué
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 293
    Points : 145
    Points
    145
    Par défaut
    Merci beaucoup Adenora

    Je vois que le chemin pour pouvoir développer mes applications est encore long.
    J'ai beau lire et relire toutes les docs, les solutions ne me sont pas très intuitives.
    Grâce à vous, je viens d'avancer d'un pas mais je bute déjà sur un autre problème:
    est-il possible dans un boucle en Java de faire référence à des objets dont le nom est indexé (ex button0, button1,....) tout simplement pour accéder à leurs paramètres sans avant à écrire 50 lignes si on a 50 boutons?

    Cordialement

    Michel

  4. #4
    Membre habitué Avatar de Adenora
    Femme Profil pro
    Développeuse ABAP
    Inscrit en
    Octobre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeuse ABAP

    Informations forums :
    Inscription : Octobre 2008
    Messages : 148
    Points : 158
    Points
    158
    Par défaut
    Pour plus de facilité, tu peux créer tes boutons dans la boucle et les stocker ensuite dans un tableau pour les manipuler plus tard.

    Voici un exemple pour créer 50 boutons.
    - Fichier XML de l'activité. J'ai ajouté une ScrollView pour que les 50 boutons s'affichent correctement via le scroll :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:context="com.example.test.MainActivity" >
     
    	<LinearLayout 
    		android:id="@+id/LinearLayout1"
    		android:layout_width="match_parent"
    		android:layout_height="wrap_content"
    	 	android:orientation="vertical" >
     
    	</LinearLayout>
    </ScrollView>
    - Fichier de la classe de l'activité :
    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    public class MainActivity extends Activity {
    	private ArrayList<Button> tableButton = new ArrayList<Button>();
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
     
    		LinearLayout ll = (LinearLayout) findViewById(R.id.LinearLayout1);
     
    		// Création de 50 boutons
    		for (int i = 1; i <= 50; i++) {
    			Button b = new Button(this);
     
    			// Paramètres du bouton 
    			b.setText(this.getString(R.string.test) + i);
    			b.setTag(this.getString(R.string.test) + i);
    			b.setId(i);
     
    			// Ajout du bouton dans un tableau de boutons pour pouvoir les manipuler plus tard
    			tableButton.add(b);
     
    			// Ajout du bouton au LinearLayout
    			ll.addView(b);
    		}
    	}
    }

    Tu peux ensuite lire le tableau tableButton pour récupérer et modifier les différents paramètres de chaque bouton.

  5. #5
    Membre habitué
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 293
    Points : 145
    Points
    145
    Par défaut
    Merci Adenora mais là je décroche.
    J'aurais peut-être dû te dire au préalable que j'étais un débutant en la matière.
    Jusqu'à présent j'étais un bon bricoleur en Visual Basic.
    Je comprends la plupart des choses mais le pourquoi c'est une autre affaire.
    Pour l'instant j'essaie de faire des choses simples:
    je n'ai pas besoin de créer des boutons de façon dynamique car avec Android Studio, j'ai déjà créé mon layout avec 15 boutons et 15 switches.
    Ce que je veux faire dans un premier temps, c'est regarder l'état des mes switches, mettre cela dans un tableau, puis lorsque j'appuie sur un bouton exécuter une routine en fonction de l'état du switch.
    Donc je suppose que je n'ai pas besoin du ScrollView.
    Alors est-il possible de faire l'opération avec des boutons et des switches déjà créés par Android Studio?

    Bien cordialement

    Michel

  6. #6
    Membre habitué Avatar de Adenora
    Femme Profil pro
    Développeuse ABAP
    Inscrit en
    Octobre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeuse ABAP

    Informations forums :
    Inscription : Octobre 2008
    Messages : 148
    Points : 158
    Points
    158
    Par défaut
    Tu peux appliquer une méthode (routine) à un événement sur un bouton, par exemple pour un "clic" sur un bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    public class MainActivity extends Activity {
    	/**
    	 * Gestion du clic sur le bouton X (ici, c'est un exemple de méthode qui envoie des coordonnées à une autre activité)
    	 */
    	private OnClickListener clickListenerButtonX = new View.OnClickListener() {
    		@Override
    		public void onClick(View v) {
    			StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    			StrictMode.setThreadPolicy(policy); 
     
    			GeocodingTask geocodingTask = new GeocodingTask(editSearch.getText().toString());
    			geocodingTask.getCoord(geocodingTask.getLocationInfo());
     
    			Intent articles = new Intent(MainActivity.this, ArticlesActivity.class);
    			articles.putExtra("LONGITUDE", geocodingTask.getLongitude());
    			articles.putExtra("LATITUDE", geocodingTask.getLatitude());
    			articles.putExtra("ADDRESS", editSearch.getText().toString());
    			startActivityForResult(articles, ARTICLES_REQUEST);
    		}
    	};
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		buttonX = (Button)findViewById(R.id.buttonX);
    		buttonX.setOnClickListener(clickListenerButtonX);
    	}
    }
    Il faudrait donc faire ceci pour chaque bouton (à voir si c'est possible de mettre ça dans une boucle pour pouvoir gérer dynamiquement le "R.id.buttonX" avec X le numéro de ton bouton), et ajouter tes "boutonX" dans un tableau.
    Tu pourrais utiliser la même méthode pour chacun des boutons et une autre méthode pour chacun des switches selon ce que tu souhaites faire, il faudra peut-être gérer des conditions (dans le cas du bouton 1 => faire action 1, dans le cas du bouton 2 => faire action 2). Ou alors, tu créer une méthode différente pour chaque bouton et chaque switch.

    J'espère que ça répond à ta problématique.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] recopier automatiquement la valeur d'un champ dans un autre
    Par IMA75 dans le forum Access
    Réponses: 1
    Dernier message: 16/12/2015, 17h32
  2. Réponses: 12
    Dernier message: 21/08/2006, 16h25
  3. Utiliser une valeur d'un formulaire dans un autre ?
    Par jessy212 dans le forum Access
    Réponses: 3
    Dernier message: 21/08/2006, 13h05
  4. Réponses: 2
    Dernier message: 26/07/2006, 10h03
  5. mettre une valeur a un champs dans un onglet..
    Par Fritzoune dans le forum Access
    Réponses: 2
    Dernier message: 03/03/2006, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo