45 lines
1.1 KiB
Java
45 lines
1.1 KiB
Java
package com.xuexispace.ai.base;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import com.xuexispace.ai.base.rx.BaseRxFragment;
|
|
|
|
public abstract class BaseFragment extends BaseRxFragment {
|
|
|
|
protected boolean isViewInitiated;
|
|
protected boolean isVisibleToUser;
|
|
protected boolean isDataInitiated;
|
|
|
|
|
|
@Override
|
|
public void onActivityCreated(Bundle savedInstanceState) {
|
|
super.onActivityCreated(savedInstanceState);
|
|
isViewInitiated = true;
|
|
prepareFetchData();
|
|
}
|
|
|
|
@Override
|
|
public void setUserVisibleHint(boolean isVisibleToUser) {
|
|
super.setUserVisibleHint(isVisibleToUser);
|
|
this.isVisibleToUser = isVisibleToUser;
|
|
prepareFetchData();
|
|
}
|
|
|
|
public abstract void fetchData();
|
|
|
|
public boolean prepareFetchData() {
|
|
return prepareFetchData(false);
|
|
}
|
|
|
|
public boolean prepareFetchData(boolean forceUpdate) {
|
|
if (isVisibleToUser && isViewInitiated && (!isDataInitiated || forceUpdate)) {
|
|
fetchData();
|
|
//注释掉保证每次都更新数据
|
|
isDataInitiated = true;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|