아래 코드를 첨부했습니다. 편집 텍스트의 터치 이벤트 이벤트에서 날짜 선택기 대화 상자를 가져오고 싶습니다. 나는 아무 오류도 받고 있지 않으며 또한 어떤 날짜 대화라도 얻지 않는다.날짜 선택 대화 상자의 텍스트 편집 대화 상자에서의 대화
제발 내가 잘못한 곳에서 도와주세요. 고맙습니다.
String TAG = "AdvancedSearchActivity";
EditText txtArrCity, txtDepCity, txtDate, txtTime;
public String year, month, day;
public static final int DATE_DIALOG_ID = 1;
// OnDateSetListener dateListener;
String DATE;
/*
* (non-Javadoc)
*
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.advance_search);
txtArrCity = (EditText) findViewById(R.id.edittxt_ArrCity);
txtDepCity = (EditText) findViewById(R.id.edittxt_DepCity);
txtDate = (EditText) findViewById(R.id.edittxt_Date);
txtTime = (EditText) findViewById(R.id.edittxt_Time);
Calendar cal = Calendar.getInstance();
year = String.valueOf(cal.get(Calendar.YEAR));
month = String.valueOf(cal.get(Calendar.MONTH));
day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH));
Log.i(TAG, "Year" + year);
Log.i(TAG, "month" + (month + 1));
Log.i(TAG, "Day" + day);
updateDate();
txtDate.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
showDialog(DATE_DIALOG_ID);
Log.i(TAG, "Inside On touch");
return false;
}
});
}
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(TabSample.tabcontext,
dateListener, Integer.parseInt(year),
Integer.parseInt(month), Integer.parseInt(day));
}
return null;
}
// the callback received when the user "sets" the date in the dialog
private DatePickerDialog.OnDateSetListener dateListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int years, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
year = String.valueOf(years);
month = String.valueOf(monthOfYear);
day = String.valueOf(dayOfMonth);
updateDate();
}
};
private void updateDate() {
month = String.valueOf((Integer.parseInt(month) + 1));
if ((Integer.parseInt(month)) < 10) {
Log.i(TAG, "@@@@@ month" + month);
month = "0" + month;
Log.i(TAG, "@@@@@ AFTER month" + month + " MONTH S" + month);
}
day = String.valueOf(day);
if ((Integer.parseInt(day)) < 10) {
day = "0" + day;
}
DATE = year + "-" + month + "-" + day;
Log.i(TAG, "DATE : " + DATE);
txtDate.setText(DATE);
}
나는 onClickListener를 사용하여 똑같은 일을했으며 작동합니다. onCLickListener를 사용 해보세요 ... – drulabs
** edittext의 날짜 선택기를 엽니 다. ** http://stackoverflow.com/questions/5441017/problems-with-date-picker-in-an-android-app – Prat
@niko 그것은 작동하지 않았다. –