Jump to content

Transmission de données


Jbay

Recommended Posts

Bonjour bonjour,

J'ai commencé le développement Android depuis peu, et j'aurais besoin d'un peu d'aide ^^

Voila, j'ai commencé une petite application (dans le style d'un porte feuille virtuel), où doit (au début) ajouter un solde;

Pour être un peu plus explicite, voici un bout de mon code :

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case 1:

LayoutInflater factory = LayoutInflater.from(this);

View alertDialogView = factory.inflate(R.layout.addsolde, null);

AlertDialog.Builder adb = new AlertDialog.Builder(this);

adb.setView(alertDialogView);

adb.setTitle("Ajout Solde");

adb.setPositiveButton("Ajouter", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

}

});

adb.show();

Voila, donc, dans cet AlertDialog, j'ai mis un EditText qui ajoutera le solde.

Ensuite, dans mon Main, j'ai un Textview qui montre le solde actuel.

Donc, ma question (enfin ^^), c'est, comment mettre à jour ce solde ? Qu'il soit égal à la somme entrée dans l'EditText de l'AlertDialog .

Si vous avez besoin de plus d'explications, y'a pas de soucis =)

Merci =3

Link to comment
Share on other sites

Salut,

Si j'ai bien compris, c'est plus une sauvegarde de données qu'une transmission non ?

Dans ce cas, enregistre les données du solde dans un fichier ou utilise simplement les "préférences" ?

Voici comment enregistrer les données via les préférences :

SharedPreferences data = getSharedPreferences("soldeData", MODE_PRIVATE); // Données enregistrées dans l'application.
SharedPreferences.Editor prefEditor = data.edit();  
prefEditor.putString("MonSolde", StringDataSoldeEditView);
prefEditor.commit();

Ensuite dans ton activité Main, il faut récupérer les données :

SharedPreferences Data = getSharedPreferences("soldeData", MODE_PRIVATE);
String MonSolde = Data.getString("MonSolde", null);

Ensuite on affiche la variable MonSolde !

Link to comment
Share on other sites

J'ai inséré le code. Mais j'ai un soucis au niveau de "StringDataSoldeEditView"

Eclipse m'indique une erreur :(

Sinon, j'ai pensé a procéder autrement.

Dans mon ItemMenu, il y a un Item "Plus" et un "Moins" pour les recettes et les dépenses, mais là encore, j'ai essayé plusieurs choses pour additionner (ou soustraire), la somme que l'on rentre dans l'Edit Text au TextView dans le Main ...

En tous cas, merci de l'aide ^.^

Link to comment
Share on other sites

J'ai réussi à bien comprendre le code, et Eclipse ne m'indique plus d'erreur.

En revanche, le Solde affiché dans mon Main devrait être égal à l'EditText ...

Donc ici, on a le menu d'insertion :

	case 3:
		factory = LayoutInflater.from(this);
		View alertDialogView3 = factory.inflate(R.layout.recette, null);

		AlertDialog.Builder adb3 = new AlertDialog.Builder(this);
		adb3.setView(alertDialogView3);
		adb3.setTitle("Crédit");
		adb3.setMessage("Inscrivez le montant que vous voulez ajouter.");
		adb3.setPositiveButton("Ajouter", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {

				SharedPreferences data = getSharedPreferences("soldeData", MODE_PRIVATE); // Données enregistrées dans l'application.
				SharedPreferences.Editor prefEditor = data.edit();  
				prefEditor.putString("solde", editTextAdd.getText().toString());
				prefEditor.commit();

			}
		});

et l' onCreate :

public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);

	TextView Solde = (TextView)findViewById(R.id.solde);

	SharedPreferences Data = getSharedPreferences("soldeData", MODE_PRIVATE);
	String MonSolde = Data.getString("solde", null);
	Solde.setText(MonSolde);

}

.. Je comprend pas pourquoi il n'y a pas l'update du solde :/

Link to comment
Share on other sites

Salut,

avant d'essayer de récupérer le solde, essaie de récupérer ton editText.

public void onClick(DialogInterface dialog, int which) {
           EditText editTextAdd = ( EditText ) findViewById(R.id.editTextAdd) ;
           SharedPreferences data = getSharedPreferences("soldeData", MODE_PRIVATE); // Données enregistrées dans l'application.
           SharedPreferences.Editor prefEditor = data.edit();  
           prefEditor.putString("solde", editTextAdd.getText().toString());
           prefEditor.commit();
}

++

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...