防止在配置更改后通知onFocus侦听器?

问题描述 投票:1回答:1

我在EditTextOnCreateView上将焦点侦听器附加到Fragment。如果EditText成为焦点,则通知监听者。到目前为止,一切都很好,但是当焦点重新放置在新的Fragment上时,屏幕旋转后会再次通知侦听器。有什么好的做法来区分由于配置更改和实际的人机交互引起的侦听器通知?还是要防止由于配置更改而在焦点更改后完全通知侦听器?

android android-lifecycle screen-rotation
1个回答
0
投票

问题很可能与在onViewStateRestored调用中恢复焦点状态有关:https://developer.android.com/reference/android/app/Fragment.html#onViewStateRestored(android.os.Bundle)

为了避免收听此更改,只需在setOnFocusChangeListener中调用onStart,而不是onCreateView

[onStartonViewStateRestored之后被调用,因此侦听器将不会收到初始通知。

© www.soinside.com 2019 - 2024. All rights reserved.