Bonjour j'ai une application dans laquelle je gère une actionBar avec un bouton quitter. Il est censé s'afficher une boîte de dialogue demandant confirmation pour quitter. J'ai donc écrit ce code :
Quand j'appuie sur le bouton, la boîte de dialogue s'affiche. Si je clique sur non, il y en a une ou deux autres qui apparaissent derrière, surement parce que onTouch s'exécute tant qu'on reste appuyé...
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 private void showActionBar() { ActionBar ab = getActionBar(); LayoutInflater li = LayoutInflater.from(this); View customView = li.inflate(R.layout.rcms_action_bar, null); ab.setCustomView(customView); ImageButton ibItem1 = (ImageButton) customView.findViewById(R.id.exit); ibItem1.setBackgroundResource(R.drawable.slct_ic_exit); ibItem1.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent arg1) { new AlertDialog.Builder(activity) .setMessage("Are you sure you want to exit?") .setCancelable(false) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { activity.finish(); } }) .setNegativeButton("No", null) .show(); return true; } }); }
j'ai donc essayé avec onClick, et là, la première fois que je clique il ne se passe rien, puis ensuite le comportement est ok. D'ailleurs les autres boutons en dehors de l'actionBar on tous des méthodes onClick et n'ont pas ce problème.
Comment faire pour afficher une fois et du premier coup la boîte de dialogue quand j'appuie sur mon bouton quitter sur l'actionBar ?
Merci d'avance
Partager