在我的应用程序中,我有两个片段,其中一个片段(FragmentSlidingUp)可以向上滑动并完全覆盖另一个片段(FragmentContent)。我使用此库进行向上滑动https://github.com/umano/AndroidSlidingUpPanel。我遇到的问题是当FragmentSlidingUp向上滑动并且FragmentContent不可见时,FragmentContent中的LiveData观察者不会暂停。当片段不可见时,有没有办法将片段生命周期状态设置为Paused,以便当片段再次可见时,LiveData观察者将暂停并自动恢复?感谢。
答案 0 :(得分:1)
因为这个库使用了窗口覆盖,所以我不认为可以在你的“FragmentContent”类中告诉你可以做的是设置一个监听器到滑动面板,然后在滑动状态为时调用FragmentContent打开。这是要点。
slidingPanelLayout.addPanelSlideListener(new PanelSlideListener() {
@Override
public void onPanelSlide(View panel, float slideOffset) {
Log.i(TAG, "onPanelSlide, offset " + slideOffset);
}
@Override
public void onPanelStateChanged(View panel, PanelState previousState, PanelState newState) {
Log.i(TAG, "onPanelStateChanged " + newState);
// Here's where you test the state, when open tell fragmentcontent to pause
}
});