标签:Nullable viewBinding void binding public protected 基类 dataBinding abstract
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 BaseDataBindingActivity<DB extends ViewDataBinding> extends BaseActivity { protected DB binding; @Override protected void initBindingView() { super.initBindingView(); binding = DataBindingUtil.setContentView(this, getLayoutId()); } protected abstract int getLayoutId(); }
public abstract class BaseDataBindingFragment<DB extends ViewDataBinding> extends 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 BaseViewBindingActivity<VB extends ViewBinding> extends 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 BaseViewBindingFragment<VB extends ViewBinding> extends 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; } }
标签:Nullable,viewBinding,void,binding,public,protected,基类,dataBinding,abstract 来源: https://blog.csdn.net/lw1389074/article/details/121212740
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。