#android #kotlin #android-layout #datepicker #android-styles
Вопрос:
Я пытаюсь показать, когда нажимается текстовое представление, каталог выбора даты spinner. Потому android.R.style.Theme_Holo_Light_Dialog
что это устарело, я пытаюсь создать пользовательский каталог выбора даты spinner.
Поэтому я создал файл style.xml в ценностях:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MySpinnerDatePickerStyle" parent="android:Theme.Material.Dialog">
<item name="android:datePickerStyle">@style/MySpinnerDatePicker</item>
</style>
<style name="MySpinnerDatePicker" parent="android:Widget.Material.DatePicker">
<item name="android:datePickerMode">spinner</item>
</style>
</resources>
а затем в своей основной деятельности я использую его:
private lateinit var binding: ActivityMainBinding
private val TAG = "MainActivity"
private val mDisplayDate: TextView? = null
private var mDateSetListener: OnDateSetListener? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.tvDate.setOnClickListener(ActionClick())
mDateSetListener = OnDateSetListener { _, year, month, day ->
var month = month
month = 1
Log.d(TAG, "onDateSet: mm/dd/yyy: $month/$day/$year")
val date = "$month/$day/$year"
mDisplayDate?.setText(date)
}
}
inner class ActionClick: View.OnClickListener {
override fun onClick(view: View?) {
val cal = Calendar.getInstance()
val year= cal.get(Calendar.YEAR)
val month= cal.get(Calendar.MONTH)
val day= cal.get(Calendar.DAY_OF_MONTH)
val dPDialog = DatePickerDialog(
this@MainActivity,
android.R.style.MySpinnerDatePickerStyle,
mDateSetListener,
year, month, day
)
dPDialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
dPDialog.show()
}
}
Но код не может скомпилироваться, потому что: Unresolved reference: MySpinnerDatePickerStyle
Затем , если я использую устаревший android.R.style.Theme_Holo_Light_Dialog
, когда я нажимаю » ОК » в журнале выбора даты spinner, дата не устанавливается в текстовом представлении
Комментарии:
1. Собственные ресурсы вашего проекта начинаются не с
android
простогоR.style.MySpinnerDatePickerStyle
.