Activity抽取基类、Fragment抽取基类

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();
}

猜你喜欢

转载自blog.csdn.net/weixin_43936526/article/details/88092415