抽取基类,最基础的写法
Activity的写法
package com.example.day07;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
/**
* @Auther: 努力
* @Date: 2019/1/8 16:20:${卢文杰}
* @Description:
*/
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(bindlayout());
initView();
initData();
bindEvent();
}
//绑定布局
protected abstract int bindlayout();
//绑定控件
protected abstract void initView();
//操作数据
protected abstract void initData();
//设置监听
protected abstract void bindEvent();
protected <T extends View> T bindView(int resId) {
return (T) findViewById(resId);
}
}
Fragment的写法
package com.example.day07.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* @Auther: 努力
* @Date: 2019/1/8 16:26:${卢文杰}
* @Description:
*/
public abstract class BaseFragment extends Fragment {
//创建视图
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(bindlayout(), container, false);
}
//绑定Acitivity
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initView();
initData();
bindEvent();
}
//绑定布局
protected abstract int bindlayout();
//绑定控件
protected abstract void initView();
//操作数据
protected abstract void initData();
//设置监听
protected abstract void bindEvent();
protected < T extends View > T bindView(int resId){
return (T) getView().findViewById(resId);
}
}