- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
这是我如何在 Kotlin 中使用 RxBinding:
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
reset_password_text_view.clicks().subscribe { presenter.showConfirmSecretQuestionBeforeResetPassword() }
password_edit_text.textChanges().skip(1).subscribe { presenter.onPasswordChanged(it.toString()) }
password_edit_text.editorActionEvents().subscribe { presenter.done(password_edit_text.text.toString()) }
}
Observable.subscribe(action)
返回 Subscription
。我应该保留它作为引用并取消订阅 onPause()
还是 onDestroy()
?
像这样:
private lateinit var resetPasswordClicksSubs: Subscription
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
resetPasswordClicksSubs = reset_password_text_view.clicks().subscribe { presenter.showConfirmSecretQuestionBeforeResetPassword() }
}
override fun onDestroy() {
super.onDestroy()
resetPasswordClicksSubs.unsubscribe()
}
最佳答案
我认为 Jake Wharton(图书馆的创建者)给了 best answer :
Treat a subscribed RxView.clicks() (or any Observable from this library for that matter) like you would the View reference itself. If you pass it (or subscribe to it) somewhere outside the lifetime of the View, you've just leaked your entire activity.
So if you're just subscribing inside your ViewHolder there's no need to unsubscribe just like there'd be no need to unregister a click listener were you doing it manually.
关于android - 使用 rxbinding 时我应该取消订阅吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41482036/
我是新的 android 和 rxjava。我经历过很多使用 rxbindings 监听事件的例子。比如这个 RxView.clicks(b).subscribe(new Action1() {
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
试图找出为什么 RxTextView.textChanges 只发出初始值。我的理解是它应该向下游订阅发送所有新的文本更改。 这是代码 public class SignupFragment
我正在使用 RxBinding 并在 RecyclerView 适配器中的 onBindViewHolder 方法中创建一个订阅,它会重用项目。有什么简单的方法可以检查我是否已将订阅者分配给 Edit
背景 public Observable> search(SearchView searchView) { return RxSearchView.queryTextChanges(searc
这是我如何在 Kotlin 中使用 RxBinding: override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
这是我的代码: // Observable from RxView RxView.clicks(mBtnLogin) .throttleFirst(500, TimeUnit.
我正在使用 RxBindings 库中的 Focus Observable 来对焦点变化使用react。因为我想验证输入并触发动画,所以我需要两次焦点事件。 Jake Wharton 建议使用 sha
我在当前的 Android 应用程序中使用 RxBinding,并希望实现文本搜索功能。 我的代码如下:- compositeDisposable.add(RxTextView.textChangeE
我在我的项目中使用 butterknife 实现了 rxjava,如下所示: @BindView(R.id.login_et) EditText mLoginField; @BindView(R.id
我正在对 EditText 进行验证.我想要 CharSequence如果为空或不以 开头,则无效"https://" .我也在使用 接收绑定(bind) ,特别是 RxTextView .问题是当剩
我正在尝试通过一些延迟来监控文本更改,以避免来自听众的垃圾邮件。但我当然不想收到一些已经处理过的元素。 这个观察者 RxTextView.textChanges(editText)
我在 Fragment 中有一个 RecyclerView,项目点击是使用 RxJava2 处理的,如 this SO answer 中所述。 , 它在非 fragment 中工作正常。 privat
当用户在 SearchView 小部件中输入内容时,应用程序应该制作一个API 调用(在后台线程中)从服务器获取搜索结果,并在 RecyclerView 中显示它们(在 UI 线程中)。 我在 fra
我是 Rx 世界的新手,尝试使用 RxJava、RxBinding 和 实现我的 AutoCompleteTextView >改造 2。 这是我想出的麻烦:(也许我没有以正确的方式做。) 我有一个 A
我想在我的项目中为 Android UI 小部件使用 RxJava 绑定(bind) API。 因此遵循本网站的指导' https://github.com/JakeWharton/RxBinding
我是一名优秀的程序员,十分优秀!