Linjiajia
2023-05-15 a0dc6be52293a64ebfe38b8c2391dc7d2ffe63ae
app_base/src/main/java/com/android/app_base/base/view/BaseFragment.java
@@ -4,7 +4,6 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;
@@ -18,6 +17,7 @@
import com.android.app_base.action.TitleBarAction;
import com.android.app_base.base.StateViewEnum;
import com.android.app_base.base.action.ClickAction;
import com.android.app_base.base.viewmodel.BaseViewModel;
import com.gyf.immersionbar.ImmersionBar;
import com.hjq.bar.TitleBar;
@@ -30,8 +30,8 @@
 * @date 2023.03.02. 15:50
 * @desc Fragment基类
 */
public abstract class BaseFragment<V extends ViewDataBinding,VM extends BaseViewModel> extends Fragment implements TitleBarAction {
    protected V binding;
public abstract class BaseFragment<VDB extends ViewDataBinding,VM extends BaseViewModel> extends Fragment implements TitleBarAction, ClickAction {
    protected VDB binding;
    protected VM viewModel;
    private int viewModelId;
@@ -65,12 +65,13 @@
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        isLoaded = false;
        if (getLayoutId() > 0){
            binding = DataBindingUtil.inflate(inflater,getLayoutId(), container, false);
            binding = initViewBinding(inflater, container);
            mRootView = binding.getRoot();
            return mRootView;
        }
        return null;
    }
    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
@@ -122,6 +123,13 @@
        getLifecycle().addObserver(viewModel);
    }
    /**
     * 初始化ViewBinding
     */
    protected VDB initViewBinding(LayoutInflater inflater, @Nullable ViewGroup container) {
        return DataBindingUtil.inflate(inflater,getLayoutId(), container, false);
    }
    /**
     * 初始化ViewModel