Android基础——构建自己喜欢的BaseActivity、BaseFragment抽象类
BaseActvity
所有Activity的基类,可以提高代码的阅读性和简洁性,根据你个人喜爱构建出自己的抽象类吧
可以在BaseActivity中放置一些第三方服务的初始化代码和网络监听事件等等等
步骤一:创建BaseActivity抽象类:
- public abstract class BaseActivity extends FragmentActivity implements View.OnClickListener {
 - @Override
 - protected void onCreate(Bundle savedInstanceState) {
 - super.onCreate(savedInstanceState);
 - initViews();
 - initListener();
 - initData();
 - }
 - public abstract void initViews();
 - public abstract void initListener();
 - public abstract void initData();
 - public abstract void processClick(View v);
 - public void onClick(View v) {
 - processClick(v);
 - }
 - }
 
步骤二:在代码中的使用:
- public class MyActivity extends BaseActivity {
 - @Override
 - public void initViews() {
 - //放置初始化View
 - setContentView(R.layout.activity_my);
 - }
 - @Override
 - public void initListener() {
 - //放置控件的监听事件
 - }
 - @Override
 - public void initData() {
 - //放置初始化数据
 - }
 - @Override
 - public void processClick(View v) {
 - //处理控件的监听事件
 - }
 - }
 
BaseFragment
步骤一:创建BaseFragment抽象类:
- public abstract class BaseFragment extends Fragment implements View.OnClickListener {
 - @Override
 - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 - return initViews(inflater, container, savedInstanceState);
 - }
 - @Override
 - public void onActivityCreated(@Nullable Bundle savedInstanceState) {
 - super.onActivityCreated(savedInstanceState);
 - initData();
 - initListener();
 - }
 - public abstract View initViews(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState);
 - public abstract void initData();
 - public abstract void initListener();
 - public abstract void processClick(View v);
 - @Override
 - public void onClick(View v) {
 - processClick(v);
 - }
 - }
 
步骤二:在代码中的使用:
- public class MineFragment extends BaseFragment {
 - @Override
 - public View initViews(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 - View view = inflater.inflate(R.layout.fragment_mine, null);
 - return view;
 - }
 - @Override
 - public void initData() {
 - }
 - @Override
 - public void initListener() {
 - }
 - @Override
 - public void processClick(View v) {
 - }
 - }
 
                    
                
                
            
        
浙公网安备 33010602011771号