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);
}
} |
Partager