public abstract class baseActivity extends AppCompatActivity implements View.onClickListener {
protected Context context;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initBindingView();
context = this;
initData();
initListener();
}
protected void initBindingView() {}
protected void initonClick(View... views){
for (View id: views) {
id.setonClickListener(this);
}
}
protected abstract void initData();
protected abstract void initListener();
protected void startActivity(Class> cls) {
startActivity(cls, null);
}
protected void startActivity(Class> cls, Bundle bundle) {
Intent intent = new Intent(context, cls);
if (bundle != null) {
intent.putExtras(bundle);
}
startActivity(intent);
}
}
public abstract class baseFragment extends Fragment implements View.onClickListener {
protected Context context;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = getActivity();
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
initData();
initListener();
}
protected void initonClick(View... views){
for (View id: views) {
id.setonClickListener(this);
}
}
protected abstract void initData();
protected abstract void initListener();
}
dataBinding:
public abstract class baseDataBindingActivityextends baseActivity { protected DB binding; @Override protected void initBindingView() { super.initBindingView(); binding = DataBindingUtil.setContentView(this, getLayoutId()); } protected abstract int getLayoutId(); }
public abstract class baseDataBindingFragmentextends baseFragment { protected DB binding; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { binding =DataBindingUtil.inflate(inflater, getLayoutId(), container, false); return binding.getRoot(); } protected abstract int getLayoutId(); }
viewBinding:
public abstract class baseViewBindingActivityextends baseActivity { protected VB binding; @Override protected void initBindingView() { super.initBindingView(); binding = getViewBinding(getLayoutInflater()); setContentView(binding.getRoot()); } protected abstract VB getViewBinding(LayoutInflater layoutInflater); }
public abstract class baseViewBindingFragmentextends baseFragment { protected VB binding; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { binding = getViewBinding(inflater, container); return binding.getRoot(); } protected abstract VB getViewBinding(@Nullable LayoutInflater inflater, @Nullable ViewGroup container); @Override public void onDestroyView() { super.onDestroyView(); binding = null; } }



