package com.ximsfei.skindemo.ui.base; import android.databinding.DataBindingUtil; import android.databinding.ViewDataBinding; import android.os.Bundle; import android.support.annotation.LayoutRes; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; /** * Created by ximsfei on 17-1-7. */ public abstract class BaseFragment<VDB extends ViewDataBinding> extends Fragment { protected VDB mDataBinding; @LayoutRes protected abstract int getLayoutId(); @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); loadData(); } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(getLayoutId(), null); mDataBinding = DataBindingUtil.bind(view); onCreateVew(inflater, savedInstanceState); return view; } protected void onCreateVew(LayoutInflater inflater, Bundle savedInstanceState) { } protected abstract void loadData(); }