Kotlin扩展/合成属性:多个调用中的相同对象Fragment.onViewCreated()
我正在使用kotlin-android-extensions从我的布局导入合成视图属性到我的片段。 在我的onViewCreated()
片段方法中,我正在EditText
视图上调用addTextChangedListener()
是一个合成的导入。 这在第一次实例化Fragment的时候工作的很好,但是下一次,我的新侦听器被添加到最后一次调用的同一个视图对象中。 所以,现在TextChangedListener
对象正在触发文本更改,结果可想而知。 据我所知,片段首次出现的观点从来没有被取消过。
这里是我输出的日志记录视图对象,显示它是同样的事情。
首次亮相:
AmountTextWatcher (com.redacted.util.AmountTextWatcher@36d1ccc) added to amount_edit_text: android.support.v7.widget.AppCompatEditText{79e2a VFED..CL. ......I. 0,0-0,0 #7f0f013a app:id/amount_edit_text}
第二次出现:
AmountTextWatcher (com.redacted.util.AmountTextWatcher@5812584) added to amount_edit_text: android.support.v7.widget.AppCompatEditText{79e2a VFED..CL. ......ID 0,0-434,200 #7f0f013a app:id/amount_edit_text}
当然,我可以通过使用findViewById()
来访问我的视图,而不是合成参考,但我想知道是否有其他人正在运行这个问题,如果有更好的方法来处理它(其他比不使用综合视图参考。)
FYI:使用Kotlin版本1.0.6 。
- Google Guava Invokedynamic要求–min-sdk-version> = 26
- TextView在设计预览中显示,但不在实际的Android应用程序中显示
- 使用kotlin时,在单元测试和仪器测试之间共享代码
- Android本地VPN服务:无法获得响应
- Kotlin中的Android Parcelable:在Parcelable数据类中找不到CREATOR
- 不能在androidTest中使用Kotlin反向方法名称 – 描述符错误异常
- 我怎样才能重写一个java方法,并改变参数的可空性?
- RxJava Observable.create包装可观察订阅
- 请使用“首次离线aproach”解释android架构。