'How to use generic data type as parameter in data binding?
object BindingAdapter {
@BindingAdapter("app:displayDate")
@JvmStatic
fun startDate(appCompatTextView: AppCompatTextView, item: SpecialOfferItem) {
try {
var strDate = ""
strDate =
DateUtils.utcToCurrentTimeZone(item.startDate)
appCompatTextView.text = strDate
} catch (e: ParseException) {
e.printStackTrace()
appCompatTextView.text = ""
}
}
}
How to use SpecialOfferItem as a generic parameter. i want to make this function for multiple model class
Solution 1:[1]
class SomethingClass<T : BaseModel>{
@BindingAdapter("app:startDate")
@JvmStatic
fun startDate(appCompatTextView: AppCompatTextView, item: T) {
try {
var strDate = ""
strDate =
DateUtils.utcToCurrentTimeZone(item.startDate)
appCompatTextView.text = strDate
} catch (e: ParseException) {
e.printStackTrace()
appCompatTextView.text = ""
}
}
}
let all your models and classes you want to pass in the method to inherit from the BaseModel which contains the attributes you want to use.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Anas Altarazi |
