[Android] pattern-observer

pattern-observer [Android] - Java - Programmation

Marsh Posté le 29-04-2015 à 22:49:27    

Bonjour,
Je veux déclenché une méthode d'une classe A à partir d'un bouton d'une boite de dialogue, j'ai utilisé un pattern-observer mais je n'arrive pas à entrer dans la méthode update().
Puisqu'une boite de dialogue ne peut pas hériter de deux classes, j'ai crée une classe observe héritant de Observer
 

Code :
  1. public class MainActivity extends ListActivity  implements  Observer {
  2.    protected void onCreate(Bundle savedInstanceState) {...}
  3.     public void update(Observable o, Object arg) {
  4.        méthode();
  5.     }
  6.     public void méthode(){...}


 

Code :
  1. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  2.         View v = inflater.inflate(R.layout.boite_de_dialogue, null);
  3.         Button bouton = (Button) v.findViewById(R.id.idBouton);
  4.         bouton.setOnClickListener(methodOnClick);
  5.         return v;
  6.    }
  7.     View.OnClickListener methodOnClick = new View.OnClickListener() {
  8.         public void onClick(View v) {
  9.             new Observe();
  10.             getDialog().dismiss();
  11.         }
  12.     };


 

Code :
  1. public class Observe extends Observable {
  2.     public Observe () {  notifyObservers();  }
  3. }


Reply

Marsh Posté le 29-04-2015 à 22:49:27   

Reply

Marsh Posté le 30-04-2015 à 16:44:00    

Tu es obligé d'utiliser un pattern Observer ?
Sinon, si ta boîte de dialogue est une alertdialog tu peux lui ajouter un bouton avec setPositive/setNegative/setNeutralButton, qui prend en paramètre l'intitulé du bouton et un callback à implémenter (OnClickListener). Tu utilises quel IDE?

Reply

Marsh Posté le 30-04-2015 à 22:06:15    

j'utilise Android studio, on m'a conseiller d'utiliser un patern-observer pour appeler la méthode mais si non comment pourrais je faire pour appeler la méthode ?

Reply

Marsh Posté le 30-04-2015 à 22:08:04    

ma boite de dialogue n'est pas un alert dialogue j'ai crée une classe qui hérite de DialogFragment

Reply

Marsh Posté le 02-05-2015 à 20:46:45    

Personnellement je le fais de cette manière :

Code :
  1. new AlertDialog.Builder(this)
  2.      .setMessage("mon message" )
  3.      .setNeutralButton("bouton neutre", new DialogInterface.OnClickListener() {
  4.       @Override
  5.       public void onClick(DialogInterface dialog, int which) {
  6.        dialog.dismiss();
  7.       }
  8.      })
  9.      .setPositiveButton("OK", new DialogInterface.OnClickListener() {
  10.       @Override
  11.       public void onClick(DialogInterface dialog, int which) {
  12.                                                              //ton lancement d'activité ici
  13.        dialog.dismiss();
  14.       }
  15.      }).create().show();


Message édité par tamiya le 02-05-2015 à 20:47:17
Reply

Marsh Posté le 02-05-2015 à 22:27:20    

ok merci de votre aide

Reply

Marsh Posté le 08-05-2015 à 00:22:57    

C'est pas plutôt avec une intention qu'on fait ça? :??:


---------------
Corvette C5 Coupé owner
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed