Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @ModelView(autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT)
- class ItemView @JvmOverloads constructor(
- context: Context,
- attributeSet: AttributeSet? = null,
- defStyleAttr: Int = 0
- ) : ConstraintLayout(context, attributeSet, defStyleAttr) {
- init {
- View.inflate(context, R.layout.layout_item_view, this)
- }
- private var listener: Listener? = null
- @ModelProp
- fun setItem(item: Item) {
- et_item.tag = item.id
- et_item.setText(item.text)
- et_item.setSelection(et_item.text.length)
- et_item.addTextChangedListener(TextWatcherFactory.create {
- listener?.onTextChanged(item.id, it.toString())
- })
- }
- @OnViewRecycled
- fun clear() {
- listener = null
- }
- @CallbackProp
- fun setTextChangeListener(listener: Listener?) {
- this.listener = listener
- }
- interface Listener {
- fun onTextChanged(id: Int, text: String)
- }
- data class Item(val id: Int, val text: String)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement