Bonjour,

j'ai créé ma propre classe qui hérite de EditText :
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
package com.android.widgets.DateSlider;
 
import java.util.Calendar;
 
 
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.text.Editable;
import android.text.method.KeyListener;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.widget.EditText;
 
public class CtrlDateView extends EditText {
 
	static final int DEFAULTDATESELECTOR_ID = 0;
	static final int DEFAULTDATESELECTOR_WITHLIMIT_ID = 6;
	static final int ALTERNATIVEDATESELECTOR_ID = 1;
	static final int CUSTOMDATESELECTOR_ID = 2;
	static final int MONTHYEARDATESELECTOR_ID = 3;
	static final int TIMESELECTOR_ID = 4;
	static final int TIMESELECTOR_WITHLIMIT_ID = 7;
	static final int DATETIMESELECTOR_ID = 5;
 
	private Activity monAct;
	Calendar dateExpiration = Calendar.getInstance();
	private String strDate;
	private Dialog di = null;
 
 
 
 
// Constructeurs
 
public CtrlDateView(Context context, AttributeSet attrs, int defStyle) {
   super(context, attrs, defStyle);
 
}
 
public CtrlDateView(Context context, AttributeSet attrs) {
   super(context, attrs);
 
    this.setOnClickListener(editDateOnClickListen);
    this.setOnTouchListener(editDateOnTouchListen);
    this.setKeyListener(editDateKeyListen); 
    this.setCursorVisible(false);
 
}
 
 
private DateSlider.OnDateSetListener mMonthYearSetListener =
    new DateSlider.OnDateSetListener() {
        public void onDateSet(DateSlider view, Calendar selectedDate) {
        	dateExpiration = selectedDate;
            strDate=String.format("%tB %tY", selectedDate, selectedDate);
            changerTexte(strDate);
 
        }
};
 
private OnClickListener editDateOnClickListen = new OnClickListener() {
	public void onClick(View v) {
 
			final Calendar c = Calendar.getInstance();
		 	di = new MonthYearDateSlider(v.getContext(),mMonthYearSetListener,c);
	        di.setOwnerActivity(monAct);
	        di.show();
 
	}
};
 
private OnTouchListener editDateOnTouchListen = new OnTouchListener() {
	@Override
	public boolean onTouch(View arg0, MotionEvent arg1) {
 
 
		final Calendar c = Calendar.getInstance();
	 	di = new MonthYearDateSlider(arg0.getContext(),mMonthYearSetListener,c);
        di.setOwnerActivity(monAct);
        di.show();
 
		return false;
 
	}
};
 
private KeyListener editDateKeyListen = new KeyListener() {
 
	@Override
	public boolean onKeyUp(View arg0, Editable arg1, int arg2, KeyEvent arg3) {
		// TODO Auto-generated method stub
		return false;
	}
 
	@Override
	public boolean onKeyOther(View arg0, Editable arg1, KeyEvent arg2) {
		// TODO Auto-generated method stub
		return false;
	}
 
	@Override
	public boolean onKeyDown(View arg0, Editable arg1, int arg2, KeyEvent arg3) {
		final Calendar c = Calendar.getInstance();
 
	 	di = new MonthYearDateSlider(arg0.getContext(),mMonthYearSetListener,c);
        di.setOwnerActivity(monAct);
        di.show();
 
		return false;
	}
 
	@Override
	public int getInputType() {
		// TODO Auto-generated method stub
		return 0;
	}
 
	@Override
	public void clearMetaKeyState(View arg0, Editable arg1, int arg2) {
		// TODO Auto-generated method stub
 
	}
};
 
public CtrlDateView(Context context) {
   super(context);
 
}
 
public void setActivity(Activity act) {
	monAct = act;
}
 
public void changerTexte(String s){
	this.setText(s);
}
 
 
 
}
J'ai effectue quelques controles dessus, le problème c'est quand je " clique " sur ma zone de texte, j'ai trois dialogues qui s'ouvrent. Alors que quand j'appuie sur une touche du clavier (quand j'ai le focus sur ma zone de texte), je n'ai qu'un seul dialogue qui s'ouvre. J'aimerais savoir pourquoi ces trois dialogues s'ouvrent à la suite. Merci beaucoup les gars !