آموزش Date Picker فارسی در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش Date Picker فارسی در برنامه نویسی اندروید می پردازیم قبلا آموزش DatePicker را برای شما قرار داده بودیم ولی به صورت پیشفرض در بعضی از گوشی ها DatePicker به صورت فارسی نیست برای اینکه یک دیالوگ خاص برای کاربران از نوع فارسی نمایش دهید می توانید از این کتاب خانه استفاده کنید در ادامه می توانید پیش نمایشی از آن را مشاهده کنید.
این کتاب خانه کاملا متریال دیزاین است !
برای استفاده از آن باید مثل همیشه ابتدا کتاب خانه آن را اضافه کنیم
به فایل Build.gradle رفته از نوع Top level و خط زیر را به بخش repositories اضافه کنید.
1 | mavenCentral() |
برای این کار وارد فایل Build.gradle شده از نوع module و خط زیر را در بخش dependencies قرار دهید.
1 | compile 'com.mohamadamin:persianmaterialdatetimepicker:1.2.1' |
پروژه خود را sync کنید
از کد زیرا برای باز کردن DatePicker استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 | PersianCalendar now = new PersianCalendar(); DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) { Toast.makeText(MainActivity.this, "" + year + "/" + monthOfYear + "/" + dayOfMonth, Toast.LENGTH_SHORT).show(); } }, now.getPersianYear(), now.getPersianMonth(), now.getPersianDay()); datePickerDialog.setThemeDark(true); datePickerDialog.show(getFragmentManager(), "tpd"); |
از setThemeDark برای تغییر theme استفاده شده است.
برای اینکه تاریخ انتخاب شده کاربر را بگیرم از کد زیر استفاده کنید.
1 2 3 4 5 | @Override public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) { String date = "You picked the following date: "+dayOfMonth+"/"+(monthOfYear+1)+"/"+year; Toast.makeText(getApplicationContext(), date, Toast.LENGTH_SHORT).show(); } |
برای اینکه رنگ آن را تغییر دهید وارد فایل colors.xml شده در مسیر res/values و خط های زیر را به آن اضافه کنید.
1 2 | <color name="mdtp_accent_color">#009688</color> <color name="mdtp_accent_color_dark">#00796b</color> |
برای اینکه کنسل شدن آن را handle کنید (یعنی تشخص بدید انتخاب شده است یا نه) از کد زیر استفاده کنید.
1 2 3 4 5 6 | pdp.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialogInterface) { Log.d("TimePicker", "Dialog was cancelled"); } }); |
این آموزش هم به پایان رسید.
موفق و موید باشید.
سلام این خط ینی چی؟ممنون میشم کمکم کنید
به فایل Build.gradle رفته از نوع Top level و خط زیر را به بخش repositories اضافه کنید
شما باید ابتدا کتاب خانه رو به پروژه اضافه کنید در اتندروید استودیو در پنل سمت چپ که فایل های list شده اند فایل gradle قرار دارد باید کتاب خانه را آن طور که گفته شد به آن اضافه کنید و پروژه را sync کنید .
در صورتی که تازه کار هستید این مطلب را حتما مطالعه کنید.
http://programchi.ir/2017/07/21/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D8%A8%DB%8C%D9%86-%D8%AF%D9%88-%D9%81%D8%A7%DB%8C%D9%84-build-gradle-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88/
موفق باشید.
مهندس مرسی که جوابمو دادی ولی کتابخونه به برنامم اضافه نمیشه.چکار باید بکنم؟
سلام بررسی کنید که ف*یل**تر ش*ک*ن اجرا شده باشد همان طور که می دانید گوگل ایران را تحریم کرده است و برای دسترسی به کتاب خانه نیاز است تا ف*یل**تر ش*ک*ن روشن باشد سپس پروژه sync شود.
هر کاری میکنم درست نمیشه .ایا jar file این کتابخونه موجود نیست؟
خیر این کتاب خانه فایل jar ندارد مشکل شما باید مربوط به نسخه sdk شما باشد این کتاب خانه از API 15 به بالا پشتیبانی می شود باید minsdk را بیشتر کنید.
موفق باشید.
پورت ف*ر*ی گ*ی*ت رو به 8080 تغییر دادم و خطوط زیرو به فایل gradle.properties اضافه کردم و مشکل حل شد
مینویسم که اکه کسی مث من به مشکل برخورد این روشو امتحان کنه
مرسی از سایت خوبت
سلام، ممنون از آموزش های خوبتون.
من تازه اندروید رو شروع کردم، آموزش اولیه Date Picker رو متوجه شدم، اما حالا میخوام از این ماژول استفاده کنم. میشه لطف کنید بفرمایید اگه بخواییم کدهای فعلی رو تو پروژه Date Picker قبلی جایگزین کنیم دقیقا کجا باید کدهارو قرار بدیم؟
سلام و درود
اولین کد که در بالا قرار داده شده دیالوگ DatePicker را نمایش می دهد و کد بعد از آن یعنی onDateSet باید خارج از main اصلی (قبل از آخرین براکت ( } ) قرار بگیرد ) و setOnCancelListener هم باید در main اصلی زیر کد اولیه قرار بگیرد.
موفق و پیروز باشید.
ممنون از پاسختون،
میخوام تاریخی که از کاربر میگیرم رو تو EditText نشون بدم، اما نمی دونم چرا کار نمی کنه:-/ (با Toast مثل کد خودتون اوکی هست) ممنون میشم کمک کنید این مشکل حل بشه 🙂
از کد زیر استفاده کنید.
فقط باید در void ی onDateSet در آموزش هست قرار گیرد.
موفق باشید.
معذرت، حل شد D:
خستگی ساده ترین مسایل رو هم پیچیده میکنه
خواهش می کنم
موفق باشید.
باسلام
اول جا داره تشکر ویژه کنم از سایت خوبتون من چندین آموزشتون استفاده کردم و عالی بوده
آقا یه سوال
من میخوام توی اپ خودم تاریخ تولد مخاطبم رو دریافت کنم
یه راه خیلی ساده چی رو پیشنهاد میدید؟
الزما شمسی باشه
سلام
خواهش می کنم.
برای دریافت تاریخ تولد می توانید از همین آموزش استفاده کنید هم بسیار ساده است همین بسیار متریال دیزاین در صورتی که سوالی در بخش های مختلف آن دارید بپرسیذ البته به صورت کامل توضیح داده شده است.
سلام
متد newInstanc رو برای من خطا میگیره
همینطور getFragmentManager رو هم خطا میگیره.
چیکار کنم؟
سلام
برای newInstanc — احتمالا توی import کردن اشتباه کردید
import com.mohamadamin.persianmaterialdatetimepicker.date.DatePickerDialog;
خط بالا رو اضافه کنید
اگر هم مثل خط زیر رو import کردید پاکش کنید
import android.app.DatePickerDialog;
سلام
ممنون بابت آموزش خوبتون
اگه بخوام بدون باز کردن view تقویم فقط تاریخ جاری رو توی یه TextViewنمایش بده باید چیکار کنم؟
سلام
خیلی عالی بود مرسی
خواهش می کنم موفق باشید !
سلام، وقتتون بخیر. ممنون از آموزش های ارزشمندتون.
میخوام فاصله بین دو تاریخ شمسی رو محاسبه کنم، این تقویم رو به پروژم اضافه کردم. آیا باید تاریخ رو مجدد به میلادی برگردونم و فاصله رو محاسبه کنم؟ (اگه جواب مثبت هست تابع تبدیل تاریخ شمسی به میلادی تو این کتابخونه چی هست؟ )… خود کتابخونه تابع محاسبه فاصله رو نداره؟
ممنون میشم راهنماییم کنید.
سلام خیر نیازی به برگردوندن تاریخ به میلادی نیست ومی توانید از همان تاریخ شمسی استفاده کنید و اگر خواستید تبدیل کنید در بخش نظرات لینک زیر را بررسی کنید کد و کلاس را قرار داده ایم
https://programchi.ir/2017/05/26/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-alarm-manager-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF/
و برای محاسبه فاصله بین دو تاریخ فقط باید منهای معمولی می توانید این کار را انجام دهید و نیاز به به تابع خواصی نیست.
موفق باشید.
سلام
من فایل ایکس ام ال ام رو چطوری بسازم که برای گرفتن تاریخ تقویم رو نشون بده
سلام درست متوجه منظورتان نمی شوم شما می توانید تاریخ را در خود کد به دست بیارید اگر دقت کنید یک void به نام onDateSet وجود دارد که تاریخ انتخاب شده در آن قرار می گیرد بعد از آن می توانید هر کاری خواستید با آن انجام دهید.
موفق باشید.
سلام و عرض تشکر از زحمات
من یک اکتیویتی دارم که از در آن یک دایالوگ را نمایش می دهم برای دریافت اطلاعات کاربر و در آن دایالوگ باید با تاریخ را دریافت کنم
در گرفتن تاریخ مشکلی نیست ولی وقتی Listener دگمه تاریخ اجرا میشود تا تاریخ را در تکست ویو نمایش دهد با خطا مواجه میشوم
Attempt to invoke virtual method ‘void android.widget.TextView.setText(java.lang.CharSequence)’ on a null object reference
دقیقا بر روی خطی که باید تکست ویو با تاریخ دریافتی از کاربر ست شود
ممنون هستم که راهنمایی کنید
سلام خسته نباشید ببخشید تابع setMaxDate و setMinDate درست کار نمیکنه مثلا:
;()PersianCalendar now = new PersianCalendar
;()PersianCalendar end=new PersianCalendar
;(now.setPersianDate(1396,7,10
;(end.setPersianDate(1396,8,12
(DatePickerDialog dpd = DatePickerDialog.newInstance
, MainActivity.this
,()now.getPersianYear
,()now.getPersianMonth
()now.getPersianDay
;(
;(dpd.setThemeDark(true
;(dpd.setMinDate(now
;(dpd.setMaxDate(end
;(“dpd.show(getFragmentManager(), “tpd
باید از تاریخ 10 مهر ۹۶ تا ۱۲ آبان ۹۶ رو نشون بده ولی از ۱۰ آبان ۹۶ تا 8 آذر ۹۶ رو نشون میده آیا من دارم جایی اشتباه می کنم یا باگ از کتابخونست؟
سلام
ممنونم از راهنمایی هاتون
سئوال:
1. چطور میتونم دیالوگ DatePickerDialog رو با سال نمایش بدم؟
2. موقع بازگشت از دیالوگ من میخوام به کاربرم این رو نشون بدم : جمعه 8 دی 1396 در صورتی که در متد onDateSet من فقط عبارت 1396/10/8 رو دارم
ممنونم اگه راهنمایی کنید.
سلام
در جواب به سوال اولتون به صورت معمول سال نیز نمایش داده می شود کافی است برای تغییر سال بروی عدد های آن کلیک کنید تا آن را تعییر دهید.
و سوال دومتون فکر نکنم این کتاب خانه به این میزان انعطاف پذیری داشته باشد ولی کتاب خانه دیگر برای این کار وجود دارد که آموزشش موجود می باشد. لینک زیر را بررسی کنید.
https://programchi.ir/2017/08/13/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-calendarview-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF/
موفق باشید.
سلام خسته نباشید
چرا سال رو نشون نمیده؟ :((((
روز و ماه رو نشون میده ولی سال رو اون بالاش نشون نمیده که روش کلیک کنم
سلام بررسی می کنم.
سلام خدا قوت
ممنون
کاش میشد اسکرین شاتشو بفرستم واست،همه چی خوب کار میکنه ولی سالو نشون نمیده که روش کلیک کرد
یک boolean در آخر متود باید وجود داشته باشد آن را true کنید مشکل حل می شود.
میشه دقیقا بگی کدوم متد؟
آخه خیلی روش وقت گذاشتم ولی نشد
سلام مجدد
دوست عزیز بررسی کردین؟
سلام
هنگام سینک شدن فایل gradle خطا میخوره
فیلتر شکن هم اجرا شده هست
defaultConfig {
applicationId “ir.pasavan.parasto_online”
minSdkVersion 17
targetSdkVersion 25
versionCode 1
versionName “1.0”
testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner”
}
compile ‘com.android.support:design:25.3.1’
compile ‘com.mohamadamin:persianmaterialdatetimepicker:1.2.1’
compile ‘com.android.support:appcompat-v7:25.3.1’
compile ‘com.android.support.constraint:constraint-layout:1.0.2’
compile ‘com.google.android.gms:play-services-maps:10.2.6’
compile ‘com.android.support:support-v4:25.3.1’
ممنون میشم راهنمایی کنید
مشکل رفع شد
compile ‘com.mohamadamin:persianmaterialdatetimepicker:1.0’
به
datePickerDialog.show(getFragmentManager(), “Datepickerdialog”);
گیر میده
فکر کنم هنون ورژن شما رو باید ادد کنم که اونم gradle خطا میده
ورژن آخر را sync کنید و مثل زیر عمل کنید.
متاسفانه بازم مشکلم رفع نشد
ف*ی*ل تر ش*کن هم دارم و باز هم خطا میده 🙁
نسخه جدید رو نمی تونه بگیره
منبع
MavenCenteral()
را به فایل Build.gradle از نوع Top level اضافه کنید در بخش Respositories
موفق باشید.
همچنان مشکل هست و ورژن sdk هم 26 کردم و …
سلام شما باید از یک پ*ر*و*ک***س*ی قوی استفاده کنید به تازگی استفاده از کتاب خانه ها در ایران به شدت محدود شده است.
سلام لینک زیر را بررسی کنید (علت اصلی تحریم بودن ایران است باید از قند شکن استفاده کنید.)
http://programchi.ir/2017/04/23/%D8%B9%D9%84%D8%AA-%D8%AE%D8%B7%D8%A7%DB%8C-gradle-sync-failed-%DA%86%DB%8C%D8%B3%D8%AA-%D8%9F/
موفق باشید.
سلام مهندس جان من موقع استفاده ازین کتاب خونه خطای زمان اجرا دارم و کلا حروف و اعداد فارسی رو بد نشون میده همه رو ط غ نشون میده
01-10 15:54:49.887: E/AndroidRuntime(2847): java.lang.NumberFormatException: Invalid int: “ظ،غ²”
همچین فرمتی پشتیبانی نمی شود.
بعد یه ایراد دیگه هم که داره سال الان رو 1397 میزنه بجای 96
از ورژن جدید کتاب خانه استفاده کنید.
سلام خسته نباشین مرسی از سایت خوبتون ولی من به گردل اضافه کردم مشکلی تو سینک کردن نبود ولی نمی دونم چرا
datePickerDialog.show(getFragmentManager(), “Datepickerdialog”); خطا میگیرع و زیرش خط قرمزع
و DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(
در اینجا newInstance کلا نمی شناسه و قرمزع
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PersianCalendar persianCalendar = new PersianCalendar();
DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(
MainActivity.this,
persianCalendar.getPersianYear(),
persianCalendar.getPersianMonth(),
persianCalendar.getPersianDay()
);
datePickerDialog.show(getFragmentManager(), “Datepickerdialog”);
}
@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
String date = “You picked the following date: ” + dayOfMonth + “/” + (monthOfYear + 1) + “/” + year;
Toast.makeText(getApplicationContext(), date, Toast.LENGTH_SHORT).show();
}
}
اگه میشه لطف کنید و راهنماییم کنید
سلام و درود کتاب خانه آپدیت شده است از کد زیر استفاده کنید مشکل حل می شود !
موفق باشید.
شرمنده ولی اینم خطا می گیرع :(((((((
اگر همان ورژنی از کتاب خانه را که در سایت قرار دادم بگذاری خطا نخواهید داشت تست کردم براتون گذاشتم پست رو دوباره بررسی کنید یک ویرایشی انجام دادم (پست اصلی منظورمه)
میشه کدهای بیلد گردل تون برام بفرستید می خوام ببینم sdk چند گذاشتین و چجوریه
چون یه خطاها که دارع میده و زدم تو نت مربوط به sdkبود تا الان ۳.۴ تا sdkدانلود کردع ولی اوکی نشده:(((
سلام بله عکس زیر را مشاهده کنید.
دانلود Sdk ها لازم است ولی برای استفاده از بیشتر کتاب خانه ها نیاز به دانلود یک Sdk کامل دارید به تازگی نسخه جدید آن Release شده می تونید با اندروید استودیو دانلود کنید.
خطا را به عنوان یک سوال قرار دهید رسیدگی می کنیم.
از کتابخونه استفاده کردم واقعا عالیه ولی یه مشکل بزرگ برای من داره روزی که برمیگردونه یه ماه کمتز از روز انتخاب شده روی تقویم هست…بقیه هم همین مشکل رو دارن؟
سلام منم همین مشکلو دارررم کسی راه حلی داره؟؟؟؟
سلام
تو اسکرین شاتی که گذاشتین سال رو میبینم ولی چرا وقتی اجرا میکنم چیزی به اسم 1394 نیست
سلام این بخش توسط خیلی از دوستان عنوان شد ولی مشکلی وجود ندارد بررسی می کنم در همین پست اگر چیزی باشد آپدیت می شود.
با سلام و خسته نباشید
مطالب بسیار عالی و ساده .فقط یه مشکلی دارم اینکه برای گرفتن تاریخ تولد مثلا سال 1320 با استفاده از setMinDate قبل تر سال 1350 نمیاد لطفا راهنمایی بفرمایدد
سلام این کتاب خانه از سال 1350 تا سال 1420 را را دارد و قبل از آن را نمی توانید با این کتاب خانه به دست آوردید.
موفق باشید.
مهندس جان مشکل من با تابع SetdateRange حل شد.تشکر از سایت بسیار عالیتون
خواهش می کنم موفق باشید.
سلام
دوستانی که مشکل instance دارن اون کد اول اول maven فلان رو تو گریدلشون ادد نکردن
سلام مهندس ممنون از مطلب مفیدتون من mavenCentral() و ‘com.mohamadamin:persianmaterialdatetimepicker:1.2.1’ در gradel اضافه کردم و sync کردم اروری نداد ولی در MainActivity دستور newInstance و setThemeDark ارور میده .به نطرتون مشکل چیه
mavenCentral() بصورت زیر اضافه کردم
buildscript {
repositories {
jcenter()
mavenCentral()
}
سلام و درود شاید متود مربوط به تاریخ بروز رسانی شده است Constructor مربوط به آن را بررسی کنید.
سلام خدمت استاد عزیز
خیلی عالی این آموزشتون
من یه سوال داشتم می خواستم ببینم چطور می تونم زمان فعلی را بدون کلیک کردن کاربر دریافت کنم البته به شمسی
چون تابع clander هست ولی تاریخ به میلادی می ده من شمسی لازم دارم چون می خوام آلارم بدم نمی تونم
سلام یک متود هست که برایتان قرار میدهم به زودی قرار میگیرد.
سلام ممنون از تاریخ قشنگتون من می خوام متن دکمه بیخیال بشه انصراف و یه دکمه امروز هم نیاز دارم چطوری این کار را انجام بدم
سلام و درود
خواهش می کنم کتاب خانه توسط ما توسعه داده نشده فقط ما آموزش را قرار دادیم برای تغییر متن ها در فایل Strings.xml خط های زیر را اضافه کنید و آن را تغییر دهید.
موفق باشید.
آقا واقعن عالی بود
شمام خسته نباشید که اینقد با حوصله به همه سوالات جواب میدید
هر جا هستید موفق باشید
سلام خواهش می کنم
موفق باشید.
با سلام عیدتون مبارک باشه ممنون به خاطر کتابخونه خوبتون
من نمیخوام این تقویم به صورت دیالوگ باز بشه مثل تقویم باد صبا درون اکتیویتی اجرا بشه باید چیکار کنم؟؟ در واقع محیط باد صبا رو می خوام شبیه سازی و شخصی سازی کنم راهکارتون چیه؟
سلام
سبک این کتاب خانه به صورت dialog هست اگر می خواهید درون اکتیویتی استفاده کنید آموزش زیر را بررسی کنید شاید به کارتان آمد
http://programchi.ir/?s=calendar
موفق باشید.
سلام و تشکر به خاطر وقتی که میذارید…
عذر میخوام در MainActivity دستور newInstance و setThemeDark ارور میده. داخل نظرات هم همین مشکل بود ولی متاسفانه من متوجه جواب نشدم…اگر امکانش هست راهنمایی بفرمایید..خیلی خیلی متشکر
سلام از ورژن آخر کتاب خانه باید استفاده کنید.
موفق باشید.
سلام
ببخشید چطور میشه چک کرد که یه string که از طریق ادیت تکست یا هر طریق دیگه ای وارد شده به عنوان یه تاریخ معتبر هست یا نه ؟
یعنی اول اینکه بررسی کنیم رشته ورودی با فرمت مورد نظر برای تاریخ مطابقت داشته باشد. به طور مثال میخواهیم همیشه به این فرمت yyyy-mm-dd تاریخ را ذخیره کنیم.
دوم اینکه رشته وارد شده نشان دهنده یک تاریخ معتبر در تقویم فارسی باشد . مثلا در صورت وارد نمودن رشته “33-05-1390” پیغام خطا صادر شود.
داخل این لینک
https://stackoverflow.com/questions/226910/how-to-sanity-check-a-date-in-java
یکی از جوابها تقریبا مناسب به نظر میاد رشته ورودی را با تقویم میلادی تطبیق میده
با استفاده از کلاس های Persian Calendar موجود تو همین کتابخونه میشه این قضیه رو چک کرد ؟
یکی از جوابها تقریبا مناسب به نظر میاد ولی رشته ورودی را با تقویم میلادی تطبیق میده
سلام چون تاریخ شمسی هست تا به حال ندیدم کتاب خانه ای در این زمینه باشد هرچند کتاب خانه های قدرتمندی در زمینه تاریخ شمسی هست ولی تا حال برخورد نکردم و شما می تونید خودتان بررسی کنید که تاریخ درست هست یا خیر مثلا سال باید 4 رقمی باشد بین 1300 الی 1400 باشد ماه که همیشه دو رقمی هست و در آخر روز هم که بین 0 تا 30 هست.
موفق باشید.
با عرض سلام و تشکر از سایت خوبتون
میخواستم روز اول هفته جای را به شمسی بدست بیارم ولی نمی دونم چطور بای این کار رو بکنم
متشکر میشم اگه راهنماییم کنید
سلام
دمت گرم و خیلی ممنون
با سلام
تشکر از آموزشهای خوبتون
من توی اپم نیاز دارم که تاریخ رو محدود شده نشون بدم ، به عنوان مثال روزها و ماه های آتی فقط تا 10 روز بعد از زمان جاری نشون داده بشن . همینطور اگه تاریخ قبل بود غیر فعال بشوند
این رو باید چجوری پیاده سازی کرد؟ با این کتابخونه میشه؟؟
ممنون میشم کمکم کنید
با تشکر
سلام
خیر این کتاب خانه به آن شکل Custom نشده است شما می توانید سورس اصلی این کتاب خانه رو از github دانلود کنید و به گونه ای خودتان همچین قابلیتی را به آن پروژه اضافه کرده سپس آن پروژه را برای خود import کنید و کلاس های آن استفاده کنید.
موفق باشید.
سلام .زمانی که رو دکمه کلیک میکنم تا datepickerرو نمایش بده برنامه کرش میشه .دلیلش چیه؟؟؟ممنون از شما
سلام لطفا لاگ قرار دهید به این شکل نمی توانیم کمکمتون کنیم.
مهندس میشه پاسخ سوال زیر (بعدی ) رو بدید خیلی گیر کردم هیچ راهیم پیدا نکردم
سلام خوبید؟
من میخوام کنارش از یک تقویم میلادی استفاده کنم اما با اضافه کردن این کتابخانه کل datepicker ها شمسی شدند
چطور میتوند تعیین کنم شمسی نمایش داده بشه یا میلادی؟
سلام همچین قابلیتی ندارد.
سلام و خسته نباشید
ممنون از سایت خوبتون
ببخشید آیا امکانش هست که روز تاریخی رو که انتخاب می کنم داخل یک تکست ویو ببینم؟مثلا اگر تاریخ دیروز که دوشنبه بوده را انتخاب کردم داخل تکست ویو دوشنبه را نشان دهد.
با تشکر
سلام و درود
شما در متد onDateSet به روز ماه و سال دسترسی دارید و می توانید آنها را با متد setText در TextView نمایش دهید.
سلام و خسته نباشید
ممنون بابت اموزش های خوبتون
من از اموزشتون در برنامه استفاده کردم ولی میخوام کاربر نتونه روز ها یا ساعت های گذشته را انتخب کنه
تابعی هست که بشه ازش استفاده کرد ؟
سلام خیر باید کاستومش کنید خودتون کتاب خانه رو
سلام خسته نباشید من هر کاری میکنم نمیتونم به این کتابخونه متصل بشم و خیلی هم بهش احتیاج دارم میشه لطفا راهنمایی بفرمایید
سلام و درود
شما دارید از sdk 26 استفاده می کنید باید آن را ارتقاع دهید این کتاب خانه با نسخه appcompact 27.1.1 نوشته شده است و نسخه ای که شما قرار داده بودید 26 بود آن را تغییر دهید مشکل حل می شود قند شکن فراموش نشود.
ممنون از راهنماییتون
خواهش می کنم.
با سلام و تشکر بابت کتابخونه خوبی که ایجاد کردین و به اشتراک گذاشتین.
می خواستم بدونم از این کتابخونه میشه برای تبدیل تاریخ شمسی به میلادی هم استفاده کرد؟ اگر بله، از کدوم متد باید استفاده بشه؟
سلام و درود
از لینک زیر استفاده کنید.
https://programchi.ir/tag/%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D9%85%DB%8C%D9%84%D8%A7%D8%AF%DB%8C-%D8%A8%D9%87-%D8%B4%D9%85%D8%B3%DB%8C/
ممنون از راهنمایی تون. اون مشکل رو حل کردم.
فقط این Datepicker شما جمعه ها رو سمت راست نشون میده و شنبه رو سمت چپ. میشه کاری کرد که جاشون برعکس بشه؟ (راست به چپ)
فکر نمی کنم کتابخانه غیر قابل کاستوم شدن است مگر اینکه سورس اصلی رو کامپایل کنید.
حیف شد.
خیلی ممنون از راهنمایی تون
سلام و احترام
برای این که در datepicker وقتی کاربر تاریخ را اتخاب میکند، دفعه ی بعد که برای ویرایش تاریخ قبلی روی datepicker کلیک کرد، همان تاریخ انتخاب شده ی قبلش به صورت پیش فرض بازشود نه تاریخ فعلی سیستم باید چه کار کرد؟ تشکر
سلام و درود
فکر نمی کنم پشتیبانی بکنه
سلام با تشکر از زحمت بینظیر شما
من از فیلتر شکن هم استفاده میکمنمبازم اینجوری میشه:
ورژن 3.14
Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’ and ‘api’.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
Unable to resolve dependency for ‘:app@debug/compileClasspath’: Could not resolve com.mohamadamin:persianmaterialdatetimepicker:1.2.1.
Open File
Show Details
Unable to resolve dependency for ‘:app@debugAndroidTest/compileClasspath’: Could not resolve com.mohamadamin:persianmaterialdatetimepicker:1.2.1.
Open File
Show Details
Unable to resolve dependency for ‘:app@debugUnitTest/compileClasspath’: Could not resolve com.mohamadamin:persianmaterialdatetimepicker:1.2.1.
Open File
Show Details
Unable to resolve dependency for ‘:app@release/compileClasspath’: Could not resolve com.mohamadamin:persianmaterialdatetimepicker:1.2.1.
Open File
Show Details
Unable to resolve dependency for ‘:app@releaseUnitTest/compileClasspath’: Could not resolve com.mohamadamin:persianmaterialdatetimepicker:1.2.1.
Open File
Show Details
سلام و درود
باید از vpn مخصوص استفاده کنید باید بخرید.
موفق باشید.
compile ‘com.mohamadamin:persianmaterialdatetimepicker:1.2.1’
سلام.
در دستور بالا compile رو پاک کنید و بجاش implementation بنویسید
موفق باشید
سلام
فایل builde.gradle(module: app) رو باز کنید. در بخش dependencies اگر کد زیر رو اضافه کردید
compile ‘com.mohamadamin:persianmaterialdatetimepicker:1.2.1’
compile رو پاک کنید و بجاش implementation بنویسید
در آخر به شکل زیر میشه
implementation ‘com.mohamadamin:persianmaterialdatetimepicker:1.2.1’
موفق باشید
دوست عزیز موق شدین مشکلتون رو حل کنید ؟
برای استفاده از ui این کتابخونه باید چیکار کنیم ؟؟؟؟
با سلام و تشکر
با ایمپورت کردن فرگمنت منیجر مشکل فراخوانی gatFramgmentManager() حل میشه
import android.app.FragmentManager;
سلام مهندس
چجوری چند تا تاریخ رو از کاربر بگیریم؟
آیا با استفاده از این دیت پیکر، فق میشه یک تاریخ رو از کاربر گرفت؟
سلام خسته نباشید برای تنظیم mindate به 1300 چجور باید عمل کنیم؟
سلام .خسته نباشید
روی getFragmentManager() خط کشیده شده و نوشته getFragmentManager is depricated و نمیتون پروژه رو اجرا کنم.
سوالم این بود که چطور باید یرطرفش کنم؟
متشکرم
باید از کتابخانه support استفاده کنید.از getSupportFragmentManager
سلام ممنون بابت سایت خوبتون . م میخواستم از این کتابخونه استفاده کنم ولی بعد از این که این خط رو وارد کرده (البته با implementation) و sync میکنم 5تا ارور دارم و sync نمیشه
compile ‘com.mohamadamin:persianmaterialdatetimepicker:1.2.1’
ارور اول:
Unable to resolve dependency for ‘:app@debug/compileClasspath’: Could not resolve com.mohamadamin:persianmaterialdatetimepicker:1.2.1.
ارور دوم:
Unable to resolve dependency for ‘:app@debugAndroidTest/compileClasspath’: Could not resolve com.mohamadamin:persianmaterialdatetimepicker:1.2.1.
ارور سوم:
Unable to resolve dependency for ‘:app@debugUnitTest/compileClasspath’: Could not resolve com.mohamadamin:persianmaterialdatetimepicker:1.2.1.
ارور چهارم:
Unable to resolve dependency for ‘:app@release/compileClasspath’: Could not resolve com.mohamadamin:persianmaterialdatetimepicker:1.2.1.
ارور پنجم:
Unable to resolve dependency for ‘:app@releaseUnitTest/compileClasspath’: Could not resolve com.mohamadamin:persianmaterialdatetimepicker:1.2.1.
ممنون میشم راهنماییم کنید 🙂
سلام و درود از پروکسی استفاده کنید برای دریافت sync گریدل.
موفق و پیروز باشید.
سلام و وقت بخیر.
ممنون بابت کتابخونه ای که قرار دادید فقط من یه مشکل باهاش دارم.
کتابخونه رو به راحتی ایمپورت کردم اما تابع
onDataSet
مشکل داره و زیر کلمه @override
خط قرمز کشیده و این تابع رو نمیشناسه و نمیشناسه , من خود کلاسی که برای کتبخونه هم هست DatePickerDialog
رو باز کردم اما ارور و قرمز رنگه مواردی که R داره رو قرمز نشون میده. ممنون میشم راهنمایی بفرمایید.
موفق باشد.
سلام
کتابخانه رو دوباره import کنید.
با سلام مجدد. 2تا مشکل من حل شد گفتم شاید یه نفر دیگه به این مشکل بربخوره.
برای مورد اول که تمام r ها در کتابخونه ایمپروت شده قرمز بود: به روش دیگه که نویسنده کتابخونه در گیت هاب گفته انجام دادم. به آدرس
https://github.com/mohamad-amin/PersianMaterialDateTimePicker/wiki/Importing-to-Android-Studio
روش دوم رو انجام دادم و ایمپورت رو به روش module به کتابخونه اضافه کردم و چون من در پروژه ام از sdk با ورژن 28 استفاده میکردم و در کتابخونه persianmaterialdatetimepicker با ورژن 27 بود برای همین باید در ماژول کتابخونه مورد نظر -در قسمت گریدل دوتا buil.gradle اضافه میشن به نام sample و persianmaterialdatetimepicker – تمام مواردی که در این دو گریدل با 27 استفاده میشد به 28 یعنی sdk پروژه خودم تغییر دادم.و حتی در قسمت dependencies که implementation ها رو از 27 به 28 تغییر دادم.
برای مشکل دومم که تابع مورد نظر onDataSe رو وارد میکردم و روی @override قرمز رنگ میشد باید اکتیویتی مورد نطر باید implemen از DatePickerDialog.OnDateSetListener یا OnTimeSetListener
ببخشید چطور میتونم از datepicker داخل فرگمنت استفاده کنم ؟ از خط
tpd.show(getFragmentManager(),DATEPICKER);
ایراد میگیره
سلام
getContext()
قبول نمیکنه
()getActivity().getFragmentManager
اينو بزار جواب ميده.
سلام روز بخیر . خیلی ممنون میشم راهنمایی کنید . چجور میشه تنظیم کرد که فقط روزهای خاصی از هفته رو بشه انتخاب کرد میدونم این تابع وجود داره ولی ورودیش رو نمیدونم چجوری باید بنویسم ([]datePickerDialog.setSelectableDays(persianCalendar
سلام روزتون بخیر
من از این روشی که فرمودین استفاده کردم اما یک مشکل اساسی وجود داره اینکه ساعت رو 3 ساعت ونیم عقب تر نشون می ده
میشه بگید علت چیه؟
ممنونم
سلام و خسته نباشید
من با اندروید استودیو آشنایی ندارم . با اکلیپس کار می کنم . خیلی هم متبحر نیستم
خواستم بدونم که توی اکلیپس باید چیکار کنم .
فرمودید کتابخانه رو باید اضافه کرد منظورتون کدوم کتابخونه هستش ؟
با تشکر
سلام ممنون از سایتتون ; من این کتابخونه رو تو گیت هاب دیدم ولی هیچ چیزی تو قسمت usage برای استفاده از کتابخونه نبود می خواستم بدونم شما چجوری این خط کد رو گیر آوردین ؟ compile ‘com.mohamadamin:persianmaterialdatetimepicker:1.2.2’
سلام الان فرمت تاریخی که به من میده 1399/1/5 درحالی که من میخوام به صورت 1399/01/05 باشه، یعنی صفر های قبل ماه و روز تک رقمی رو داشته باشه. ممنون میشم راهنماییم کنید.
سلام
تاریخ رو یک ماه عقب تر نشون میده .آخرین نسخه چی هست ؟ من از com.mohamadamin:persianmaterialdatetimepicker:1.2.1 استفاده می کنم
خیلی ممنون از آموزشتون
قسمت ui یا همان بخش xml کدام لایوت رو باید صدا بنویسیم من هر کدام را امتحان کردم متاسفانه در ui تقویم را نمایش نمی دهد
سلام
ایا امکان حذف روز در این افزونه موجود میباشد؟
سلام و درود
خیر
سلام وقتتون بخیر ممنون از آموزشی که گداشتید فقط من یه سوال داشتم من برای پروزه خودم یک اکتیوتی- تاریخ اعلان -هست باید روی یک buttom کلیک کنم و تاریخ رو بصورت این کتابخانه بگیرم و تاریخ انتخاب شده ی من برگرده در اکتیوتی -تاریخ اعلان – در یک textview قرار داده بشه تا من بتونم از اون استفاده کنم و همراه با فیلدهای دیگه در sql قرار بدم- امیدوارم بد توضیح نداده باشم
من این کتابخانه رو اعمال کردم حالا میخام از اون استفاده کنم نمیدونم مراحلم درست هست یا نه
1) اون رو در یک اکیتیوتی جدا بالا اوردم
2) حالا در اکتیوتی button رو seton click listener میکنم
…..
حالا نمیدونم چطوری اون تاریخ انتخاب شده خودم رو برگردونم توی textview نشون بدم یا ثبتش کنم یه جایی
ممنون میشم کمکم کنید
سلام از لینک زیر استفاده کنید.
https://programchi.ir/2018/04/27/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d8%b4%d9%85%d8%b3%db%8c-%d8%af%d8%b1-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88/