Jump to content

Création d'un custom Button lancant une Activity automatiquement


nogema

Recommended Posts

Bonjour,

J'ai actuellement un calendrier maison sous forme d'Activity qui marche très bien. :lol:

Je peux donc lancer l'Activity depuis un bouton normal via ce code :

	    btn = (Button) findViewById(R.id.btnChoixDate);
    btn.setOnClickListener( new OnClickListener() {
		@Override
		public void onClick(View v) {
			Intent i = new Intent(FichePatient_GUI.this, Calendar_GUI.class);
			final String dateNaiss = ((Button) findViewById(R.id.btnChoixDate)).getText().toString();
			if (dateNaiss.length() == 10) {
				i.putIntegerArrayListExtra("date", new ArrayList<Integer>() {{
					add(Integer.parseInt(dateNaiss.substring(0, 2)));
					add(Integer.parseInt(dateNaiss.substring(3, 5)));
					add(Integer.parseInt(dateNaiss.substring(6, 10)));
				}});
			}
			startActivityForResult(i, REQ_DATE_NAISS);
		}
    });

Et récupérer le résultat comme ceci :

	@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	Button btn;
	if (resultCode == RESULT_OK) {
		switch (requestCode) {
			case REQ_DATE_NAISS:
				btn = (Button) findViewById(R.id.btnChoixDate);
				Bundle infosDate = data.getExtras();
				btn.setText(infosDate.getString("jour") + "/" + 
						infosDate.getString("mois") + "/" +
						infosDate.getString("annee"));
				break;
		}
	}
}

Je souhaite maintenant faire un custom Button qui ferait tout tout seul.

public class CalendarButton extends Button {
...
}

En gros, j'appuie sur ce bouton, il m'affiche l'écran de sélection comme un grand et ensuite il défini le texte du bouton avec la date. B)

Je souhaiterais ne plus avoir le code ci-dessus dans mon Activity principale, mais tout mettre dans mon custom Button.

Je pense pouvoir lancer mon Activity calendrier sans trop de problème mais comment récupérer le résultat du calendrier depuis mon custom Button ??! :/

Merci

Link to comment
Share on other sites

Ok merci !

Je vais donc garder mon onActivityResult() dans l'activité principale, et appeler une fonction du bouton perso pour mettre à jour les infos si l'Id est correct :P

Etonnant quand meme de pas arriver à faire ce genre de chose qui me semble "basique" (pour un programmeur vb.net c'est normal :D )

Si quelqu'un a une autre piste je suis preneur !

Link to comment
Share on other sites

Bon ben j'ai réussi a peu près ce que je voulais assez simplement finalement, je n'ai pas trop de redondance de code :P

Pour l'Activity invisible ... déjà je n'ai aucune idée de comment faire et finalement je pense que c'est alourdir l'ensemble. Pis ca me parait pas chouette comme solution (bien que j'y ai pas mal pensé avant :lol: )

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...