public class Test extends View {
public Test(final Context context) {
super(context);
}
public Test(final Context context, final AttributeSet attrs) {
super(context, attrs);
}
public Test(final Context context, final AttributeSet attrs, final int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onVisibilityChanged(@NonNull final View changedView, final int visibility) {
Log.d(TAG, " visibility=" + visibility);
super.onVisibilityChanged(changedView, visibility);
}
}
If I put this View in Activity, onVisibilityChanged
work perfectly.
But if I put this View in Fragment, onVisibilityChanged() will not fire when fragment hidden.
Is there any solution if I don’t want to write the following in every Fragment?
override fun onHiddenChanged(hidden: Boolean) {
super.onHiddenChanged(hidden)
if (hidden) {
//
} else {
//
}
}