public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(initLayout());
initView();
initData();
initListener();
}
protected abstract void initView();
protected abstract void initData();
protected abstract void initListener();
protected <T extends View>T find(int resid){
return (T)findViewById(resid);
}
protected abstract int initLayout();
}
public abstract class BaseFragment extends Fragment {
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
initView();
}
protected abstract void initView();
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initData();
initListener();
}
protected abstract void initData();
protected abstract void initListener();
protected <T extends View>T find(int resid){
return (T)getView().findViewById(resid);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(initLayout(),container,false);
return view;
}
protected abstract int initLayout();
}