- import android.support.v4.app.Fragment;
-
- public abstract class BaseFragment extends Fragment {
-
- protected boolean isVisible;
-
-
- @Override
- public void setUserVisibleHint(boolean isVisibleToUser) {
- super.setUserVisibleHint(isVisibleToUser);
- if(isVisibleToUser) {
- isVisible = true;
- onVisible();
- } else {
- isVisible = false;
- onInvisible();
- }
- }
-
-
-
- protected void onVisible() {
- lazyLoad();
- }
-
-
-
- protected void onInvisible() {
-
-
- }
-
-
- protected abstract void lazyLoad();
-
-
- }
列如:
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment, container, false);
- contentText = (TextView) view.findViewById(R.id.content);
- progressBar = (ProgressBar) view.findViewById(R.id.progressbar);
- isPrepared = true;
- lazyLoad();
- return view;
- }
-
- @Override
- protected void lazyLoad() {
- if (!isPrepared || !isVisible || mHasLoadedOnce) {
- return;
- }
- new AsyncTask<Void, Void, Boolean>() {
Fragment实现延迟加载
原文:http://www.cnblogs.com/dmblog001/p/5764797.html