volcom20
Messages postés15Date d'inscriptionlundi 5 janvier 2009StatutMembreDernière intervention 6 janvier 2013
-
3 janv. 2013 à 18:49
volcom20
Messages postés15Date d'inscriptionlundi 5 janvier 2009StatutMembreDernière intervention 6 janvier 2013
-
3 janv. 2013 à 22:43
Bonjour,
j'ai une question sur les intents je crois.
je voudrais updater une EditText qui n'est pas dans la même
Activity que le bouton qui est cliqué sans pour autant afficher cette
Activity voici un peu de code pour vous montrer ceci :
C'est mon Activity de départ elle semble bien rouler mais si il y a quelque chose de pas correct fait-moi le savoir ! :
public class MainActivity extends TabActivity {
private TabHost mTabHost;
//On déclare toutes les variables dont on aura besoin
Button cmdadd;
private static final int CODE_DE_MON_ACTIVITE = 1;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
ici c'est mon activity avec le bouton qui déclanche ma fonction :
public class InfoActivity extends Activity {
//On déclare toutes les variables dont on aura besoin
Button cmdadd;
EditText mass;
private double resultbac;
private int cptdrink = 0;
private int intmass = 0;
private float mlalc = 0;
private float calmass = 0;
private float result = 0;
Intent intent;
private static final int CODE_DE_MON_ACTIVITE = 2;
//On récupère tout les éléments de notre interface graphique grâce aux ID
cmdadd = (Button) findViewById(R.id.btnadd);
mass = (EditText) findViewById(R.id.txtmass);
//On attribut un écouteur d'évènement à tout les boutons
cmdadd.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
adddrink();
}
//On créé un objet Bundle, c'est ce qui va nous permetre d'envoyer des données à l'autre Activity
Bundle objetbundle = new Bundle();
//Cela fonctionne plus ou moins comme une HashMap, on entre une clef et sa valeur en face
objetbundle.putFloat("bac", result);
intent = new Intent(InfoActivity.this,ResultActivity.class);
//On affecte à l'Intent le Bundle que l'on a créé
intent.putExtras(objetbundle);
// On démarre l'autre Activity
startActivity(intent);
}
});
}
}
ensuite pour finir l'activity avec le EditText que j'aimerais mettre a jour :
public class ResultActivity extends Activity {
//On déclare toutes les variables dont on aura besoin
float fbac;
EditText bac;
TimePicker tp;
//On récupère les données du Bundle
if (objetbunble != null && objetbunble.containsKey("bac")) {
fbac = objetbunble.getFloat("bac");
bac.setText(Float.toString(fbac));
}
}
}
comme première question je me demandais si cela est possible et comment
ajouter
bac = (EditText) findViewById(R.id.txtbac);
EditText bac;
bac.setText(Float.toString(result));
dans mon InfoActivity même si l'Edittext est dans ResultActivity ?
ou sinon comment puis-je faire avec les intents pour que l'activity reste en background ?