diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 502522e..3976070 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -136,7 +136,6 @@
() {
override fun initView(savedInstanceState: Bundle?) {
setStatusBarColor(R.color.white)
- setTitleBar("实名认证",true)
- binding.btnOk.setOnClickListener {
- ActivityUtils.startActivity(mContext,AuthQualificationActivity::class.java)
+ setTitleBar("实名认证", true)
+
+ binding.run {
+ btnOk.setOnClickListener {
+ ActivityUtils.startActivity(mContext, AuthQualificationActivity::class.java)
+ }
+
+ tvStart.run {
+ setOnClickListener {
+ PickDateUtils.getInstance()
+ .showDate(this@AuthDriverActivity, "有效起始日期") { year, month, day ->
+ this.text = "$year-$month-$day"
+ }
+ }
+ }
+ tvEnd.run {
+ setOnClickListener {
+ PickDateUtils.getInstance()
+ .showDate(this@AuthDriverActivity, "有效结束日期") { year, month, day ->
+ this.text = "$year-$month-$day"
+ }
+ }
+ }
+ tvCarType.run {
+ setOnClickListener {
+ PickDateUtils.getInstance()
+ .showSelectCarType(this@AuthDriverActivity, "选择准驾车型") { _, item ->
+ this.text = item.toString()
+ }
+ }
+ }
+
}
}
diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt
index 316dc4f..194f4fc 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt
@@ -3,8 +3,10 @@ package com.dahe.gldriver.ui.account.authperson
import android.os.Bundle
import com.dahe.gldriver.R
import com.dahe.gldriver.databinding.ActivityAuthPersonBinding
+import com.dahe.gldriver.utils.PickDateUtils
import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.utils.ActivityUtils
+import com.dahe.mylibrary.utils.ToastUtils
/**
* @ClassName AuthRoleActivity
@@ -15,9 +17,28 @@ import com.dahe.mylibrary.utils.ActivityUtils
class AuthPersonActivity : BaseActivity() {
override fun initView(savedInstanceState: Bundle?) {
setStatusBarColor(R.color.white)
- setTitleBar("实名认证",true)
+ setTitleBar("实名认证", true)
binding.btnOk.setOnClickListener {
- ActivityUtils.startActivity(mContext,AuthDriverActivity::class.java)
+ ActivityUtils.startActivity(mContext, AuthDriverActivity::class.java)
+ }
+
+ binding.run {
+ tvStart.run {
+ setOnClickListener {
+ PickDateUtils.getInstance()
+ .showDate(this@AuthPersonActivity,"有效起始日期") { year, month, day ->
+ this.text = "$year-$month-$day"
+ }
+ }
+ }
+ tvEnd.run {
+ setOnClickListener {
+ PickDateUtils.getInstance()
+ .showDate(this@AuthPersonActivity,"有效结束日期") { year, month, day ->
+ this.text = "$year-$month-$day"
+ }
+ }
+ }
}
}
diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt
index 427dd87..dd9d694 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt
@@ -3,6 +3,7 @@ package com.dahe.gldriver.ui.account.authperson
import android.os.Bundle
import com.dahe.gldriver.R
import com.dahe.gldriver.databinding.ActivityAuthQualificationBinding
+import com.dahe.gldriver.utils.PickDateUtils
import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.utils.ActivityUtils
@@ -12,12 +13,23 @@ import com.dahe.mylibrary.utils.ActivityUtils
* @Date 2024/1/25 15:20
* @Description 从业资格证认证
*/
-class AuthQualificationActivity : BaseActivity(){
+class AuthQualificationActivity : BaseActivity() {
override fun initView(savedInstanceState: Bundle?) {
setStatusBarColor(R.color.white)
- setTitleBar("实名认证",true)
+ setTitleBar("实名认证", true)
binding.btnOk.setOnClickListener {
- ActivityUtils.startActivity(mContext,AuthBankCardActivity::class.java)
+ ActivityUtils.startActivity(mContext, AuthBankCardActivity::class.java)
+ }
+
+ binding.run {
+ tvDate.run {
+ setOnClickListener {
+ PickDateUtils.getInstance()
+ .showDate(this@AuthQualificationActivity,"选择有效期至") { year, month, day ->
+ this.text = "$year-$month-$day"
+ }
+ }
+ }
}
}
diff --git a/app/src/main/java/com/dahe/gldriver/utils/PickDateUtils.kt b/app/src/main/java/com/dahe/gldriver/utils/PickDateUtils.kt
new file mode 100644
index 0000000..3ec6e16
--- /dev/null
+++ b/app/src/main/java/com/dahe/gldriver/utils/PickDateUtils.kt
@@ -0,0 +1,62 @@
+package com.dahe.gldriver.utils
+
+import android.app.Activity
+import androidx.appcompat.app.AppCompatActivity
+import com.dahe.gldriver.R
+import com.dahe.mylibrary.base.SingletonHolder
+import com.dahe.mylibrary.base.SingletonNoPHolder
+import com.github.gzuliyujiang.wheelpicker.BirthdayPicker
+import com.github.gzuliyujiang.wheelpicker.OptionPicker
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener
+import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener
+import com.github.gzuliyujiang.wheelpicker.entity.DateEntity
+
+/**
+ * @ClassName PickDateUtils
+ * @Author john
+ * @Date 2024/2/5 14:48
+ * @Description TODO
+ */
+class PickDateUtils private constructor() {
+ companion object : SingletonNoPHolder(::PickDateUtils)
+
+
+ /**
+ * TODO
+ * 底部弹出生日日期选择
+ *@param title 日期选择title
+ * @param dateEntity 默认参数:默认当天
+ * @param listener
+ */
+ fun showDate(
+ activity : AppCompatActivity,
+ title: String = "",
+ dateEntity: DateEntity = DateEntity.today(),
+ listener: OnDatePickedListener
+ ) {
+
+ val picker = BirthdayPicker(activity)
+ picker.setTitle(title)
+ picker.setDefaultValue(dateEntity.year, dateEntity.month, dateEntity.day)
+ picker.setOnDatePickedListener(listener)
+// picker.wheelLayout.setResetWhenLinkage(false)
+ picker.show()
+ }
+
+
+ /**
+ * 选择驾驶证类型
+ * @param title
+ * @param listener
+ */
+ fun showSelectCarType(activity : AppCompatActivity,title: String = "", listener: OnOptionPickedListener) {
+ OptionPicker(activity)
+ .run {
+ setData("A1", "A2", "A3", "B1", "B2", "B3", "C1", "C2")
+ setDefaultValue("B1")
+ setTitle(title)
+ setOnOptionPickedListener(listener)
+ show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_auth_driver.xml b/app/src/main/res/layout/activity_auth_driver.xml
index 3bc7411..fd0b522 100644
--- a/app/src/main/res/layout/activity_auth_driver.xml
+++ b/app/src/main/res/layout/activity_auth_driver.xml
@@ -163,6 +163,7 @@
android:textSize="@dimen/sp_15">
@@ -215,6 +218,7 @@
android:textSize="@dimen/sp_15">
diff --git a/app/src/main/res/layout/activity_auth_person.xml b/app/src/main/res/layout/activity_auth_person.xml
index ef6bc76..7168eeb 100644
--- a/app/src/main/res/layout/activity_auth_person.xml
+++ b/app/src/main/res/layout/activity_auth_person.xml
@@ -104,7 +104,7 @@
android:orientation="horizontal">
-
+ android:hint="请选择开始日期"
+ tools:text="1990-05-24">
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_auth_qualification.xml b/app/src/main/res/layout/activity_auth_qualification.xml
index 3889ace..85f0095 100644
--- a/app/src/main/res/layout/activity_auth_qualification.xml
+++ b/app/src/main/res/layout/activity_auth_qualification.xml
@@ -123,6 +123,7 @@
android:textSize="@dimen/sp_15">
(creator: (A) -> T) {
+
+ private var creator: ((A) -> T)? = creator
+
+ @Volatile
+ private var instance: T? = null
+
+ //对上述方法的一种更简洁的写法
+ fun getInstance(arg: A): T =
+ instance ?: synchronized(this) {
+ instance ?: creator!!(arg).apply {
+ instance = this
+ }
+ }
+}
+
+
+open class SingletonNoPHolder(creator: () -> T) {
+
+ private var creator: (() -> T)? = creator
+
+ @Volatile
+ private var instance: T? = null
+
+ //对上述方法的一种更简洁的写法
+ fun getInstance(): T =
+ instance ?: synchronized(this) {
+ instance ?: creator!!().apply {
+ instance = this
+ }
+ }
+}
+
+//使用
+//class SkinManager private constructor(context: Context) {
+// companion object : SingletonHolder(::SkinManager)
+//}
\ No newline at end of file