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

Composants graphiques Android Discussion :

Modification label bouton via préférence


Sujet :

Composants graphiques Android

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Modification label bouton via préférence
    Bonjour,

    mon application est une sorte de placard à bouton qui lance des commandes via socket IP

    L'utilisateur peut via le menu option et les préference choisir l'adresse ip du socket et cela marche tres bien

    je souhaite maintenant donner la possibilité à l'utilisateur de modifier le nom des boutons

    j'ai donc ajouté deux préferences bouton1_name et bouton2_name

    ligne 37
    je n'arrive pas a recuperer la valeur de la préference, j'ai toujours la valeur par defaut qui s'affiche

    seconde question: je ne sais pas ou mettre ce code pour que les label soient correct au demarrage de l'app et en sortant des preferences??

    main

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
     
    package com.example.planar;
     
    import java.io.*;
    import android.app.Activity;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.preference.PreferenceManager;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
     
     
    public class MainActivity extends Activity {
     
     
     
    	//private String ipPcControl ="192.168.1.11";
    	private String port7001PcControl ="7001";
    	private String portSynlinkPcControl ="7072";
    	//private String portPliPcControl ="7001";
    	private String imageDelete ="image_delete -1 gui\n\n";
    	private String loadConfig1 ="send_message -dest indisys_director -msg {load_config preset_1}";
    	private String loadConfig2 ="send_message -dest indisys_director -msg {load_config preset_2}";
    	private String loadConfig3 ="send_message -dest indisys_director -msg {load_config preset_3}";
    	private String loadConfig4 ="send_message -dest indisys_director -msg {load_config preset_4}";
     
     
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    	    // write preference buton1 name       
    		SharedPreferences mgr = PreferenceManager.getDefaultSharedPreferences(this);
    		String buton_name = mgr.getString("buton1_name", "defaut");
            Toast.makeText(this, buton_name, Toast.LENGTH_LONG).show();
    		Button button = (Button)findViewById(R.id.button_without_listener);
    		button.setText(buton_name);
    	    // end write preference buton1 name       
     
            }
     
        public void onResume() {
    	    super.onResume();
     
           }
     
      // MENU OPTION 
     
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.main, menu);
            return true;
        }
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
            case R.id.about:
            startActivity(new Intent(this, About.class));
            return true;
            case R.id.settings:
            startActivity(new Intent(this, Settings.class));
            return true;
            default:
            return super.onOptionsItemSelected(item);
            }
        }
     
        // button  
    	/** Name of the method and it's triggering comes from main.xml file.
             * Button's widget attribute android:onClick allows you to specify name of the method
             * which you have to implement. 
             * @throws IOException **/
     
     
    	public void onButtonClick(View v) throws IOException {
    			SharedPreferences mgr = PreferenceManager.getDefaultSharedPreferences(this);
    			String ipPcControl = mgr.getString("ip", "defaut");
    	        Toast.makeText(this, ipPcControl, Toast.LENGTH_LONG).show();
    			new ClientSocket().execute(ipPcControl,portSynlinkPcControl,imageDelete);
     	}
     
    	public void onButtonClick2(View v) throws IOException {
    		SharedPreferences mgr = PreferenceManager.getDefaultSharedPreferences(this);
    		String ipPcControl = mgr.getString("ip", "defaut");
     
       	  new ClientSocket().execute(ipPcControl,port7001PcControl,loadConfig1);
    	}
     
    	public void onButtonClick3(View v) throws IOException {
    		SharedPreferences mgr = PreferenceManager.getDefaultSharedPreferences(this);
    		String ipPcControl = mgr.getString("ip", "defaut");
    	   	  new ClientSocket().execute(ipPcControl,port7001PcControl,loadConfig2);
    		}
     
    	public void onButtonClick4(View v) throws IOException {
    		SharedPreferences mgr = PreferenceManager.getDefaultSharedPreferences(this);
    		String ipPcControl = mgr.getString("ip", "defaut");
    	   	  new ClientSocket().execute(ipPcControl,port7001PcControl,loadConfig3);
    		}
     
    	public void onButtonClick5(View v) throws IOException {
    		SharedPreferences mgr = PreferenceManager.getDefaultSharedPreferences(this);
    		String ipPcControl = mgr.getString("ip", "defaut");
    	   	  new ClientSocket().execute(ipPcControl,port7001PcControl,loadConfig4);
    		}
    }

    preference

    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
     
    <?xml version="1.0" encoding="utf-8"?>
     
    <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
     
     <PreferenceScreen android:title="Parametres" >
     <PreferenceCategory android:title="Définir IP PC controle" >  
     		<EditTextPreference android:title="Ip du controle" android:key="ip"> 
     
         	</EditTextPreference>
     </PreferenceCategory>    
     
      <PreferenceCategory android:title="Nom des boutons" >  
     		<EditTextPreference android:title="Bouton 1" android:key="buton1_name"> 
     
         	</EditTextPreference>
         	<EditTextPreference android:title="Bouton 2" android:key="buton2_name"> 
     
         	</EditTextPreference>
     </PreferenceCategory>   
     </PreferenceScreen>   
     
     
    </PreferenceScreen>

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Place le code dans le OnResume plutôt.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       // write preference buton1 name       
    		SharedPreferences mgr = PreferenceManager.getDefaultSharedPreferences(this);
    		String buton_name = mgr.getString("buton1_name", "defaut");
            Toast.makeText(this, buton_name, Toast.LENGTH_LONG).show();
    		Button button = (Button)findViewById(R.id.button_without_listener);
    		button.setText(buton_name);
    	    // end write preference buton1 name
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

Discussions similaires

  1. Label de bouton via MessageResources.properties ?
    Par piloupy dans le forum Struts 1
    Réponses: 2
    Dernier message: 03/04/2007, 10h40
  2. Modification de tables via requête Access
    Par Norin dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 16/06/2006, 19h49
  3. supprimer un bouton via removeChild
    Par mbk-w dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/05/2006, 14h15
  4. [FLASH 8] Changer label bouton dynamiquement dans une boucle
    Par Malau dans le forum ActionScript 1 & ActionScript 2
    Réponses: 5
    Dernier message: 03/05/2006, 16h55
  5. Modification critére requête via formulaire
    Par frevale dans le forum Access
    Réponses: 1
    Dernier message: 02/11/2005, 21h30

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