[mobile] optimize fragment load

pull/137/head
FongMi 3 years ago
parent a1a01891b7
commit 8a0f419f64
  1. 22
      app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseFragment.java
  2. 8
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/HomeFragment.java
  3. 8
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/TypeFragment.java

@ -22,32 +22,40 @@ public abstract class BaseFragment extends Fragment {
return getBinding(inflater, container).getRoot();
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
initView();
initEvent();
}
protected void initView() {
}
protected void initEvent() {
}
public boolean canBack() {
return true;
protected void initData() {
}
private void resume() {
private void onVisible() {
if (init) return;
initView();
initEvent();
initData();
init = true;
}
public boolean canBack() {
return true;
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) if (isResumed()) resume();
if (isVisibleToUser) if (isResumed()) onVisible();
}
@Override
public void onResume() {
super.onResume();
if (getUserVisibleHint()) resume();
if (getUserVisibleHint()) onVisible();
}
}

@ -54,10 +54,8 @@ public class HomeFragment extends BaseFragment implements VodAdapter.OnClickList
@Override
protected void initView() {
mBinding.progressLayout.showProgress();
setRecyclerView();
setViewModel();
getVideo();
}
@Override
@ -66,6 +64,12 @@ public class HomeFragment extends BaseFragment implements VodAdapter.OnClickList
mBinding.scrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> getParent().toggleLink(scrollY - oldScrollY));
}
@Override
protected void initData() {
mBinding.progressLayout.showProgress();
getVideo();
}
private void setRecyclerView() {
mBinding.history.setHasFixedSize(true);
mBinding.history.getItemAnimator().setChangeDuration(0);

@ -67,10 +67,8 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
mTypeIds = new ArrayList<>();
mExtends = new HashMap<>();
mScroller = new CustomScroller(this);
mBinding.progressLayout.showProgress();
setRecyclerView();
setViewModel();
getVideo();
}
@Override
@ -85,6 +83,12 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
});
}
@Override
protected void initData() {
mBinding.progressLayout.showProgress();
getVideo();
}
private void setRecyclerView() {
mBinding.recycler.setHasFixedSize(true);
mBinding.recycler.setAdapter(mVodAdapter = new VodAdapter(this));

Loading…
Cancel
Save