slr560
شنبه 04 مرداد 1393, 01:53 صبح
سلام دوستان . یه مشکل به ظاهر ساده دارم
من میخوام یه DatePicker به صورت دیالوگ نمایش داده بشه و تاریخی که وارد میشه رو بگیرم. به این صورت عمل کردم.
ابتدا وقتی روی دکمه کلیک میشه showDialog اجرا میشه .
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.date_reserve:
showDialog(DATE_DIALOG);
}
}
و بعد از اون تابع override شده onCreateDialog اجرا میشه
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG:
return new DatePickerDialog(this, onDateSetListener, yr, month, day);
}
return null;
}
حالا datePicker نمایش داده میشه و مقدارشو با استفاده از تابع زیر میگیرم
DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
yr = year;
month = monthOfYear;
day = dayOfMonth;
String date_reserve = yr + "/" + (month + 1) + "/" + day;
}
};
تا اینجای کار همه چی درسته و کار میکنه . مشکل من اینه که بعد از اجرای این دستورات تاریخ میره توی استرینگ date_reserve و دخیره مییشه. چجوری این تاریخ رو بگیرم و توی تابع اولی onClick که نوشتم برش گردونم؟؟؟؟ واسه محاسبات بعدی
مشکل اینجاس که تابع void هست و override شده . کاریشم نمیشه کرد.
یه متغییر در سطح کلاسم تعریف کردم و مقدارشو مساوی با date_reserve قرار دادم . ولی بعد از اینکه توی قسمتای برنامه میخوام ازش استفاده کنم گیر بهش میده.
چجوری date_reserve رو مقدارشو بگیرم و از تابع ببرمش بیرون؟
من میخوام یه DatePicker به صورت دیالوگ نمایش داده بشه و تاریخی که وارد میشه رو بگیرم. به این صورت عمل کردم.
ابتدا وقتی روی دکمه کلیک میشه showDialog اجرا میشه .
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.date_reserve:
showDialog(DATE_DIALOG);
}
}
و بعد از اون تابع override شده onCreateDialog اجرا میشه
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG:
return new DatePickerDialog(this, onDateSetListener, yr, month, day);
}
return null;
}
حالا datePicker نمایش داده میشه و مقدارشو با استفاده از تابع زیر میگیرم
DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
yr = year;
month = monthOfYear;
day = dayOfMonth;
String date_reserve = yr + "/" + (month + 1) + "/" + day;
}
};
تا اینجای کار همه چی درسته و کار میکنه . مشکل من اینه که بعد از اجرای این دستورات تاریخ میره توی استرینگ date_reserve و دخیره مییشه. چجوری این تاریخ رو بگیرم و توی تابع اولی onClick که نوشتم برش گردونم؟؟؟؟ واسه محاسبات بعدی
مشکل اینجاس که تابع void هست و override شده . کاریشم نمیشه کرد.
یه متغییر در سطح کلاسم تعریف کردم و مقدارشو مساوی با date_reserve قرار دادم . ولی بعد از اینکه توی قسمتای برنامه میخوام ازش استفاده کنم گیر بهش میده.
چجوری date_reserve رو مقدارشو بگیرم و از تابع ببرمش بیرون؟