BaseActivity
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutResId());
//共同的行为
//规范化
//便于维护
initView();
initData();
//后期需求 共同行为
//统计
//沉浸式
}
@Override
protected void onDestroy() {
super.onDestroy();
//统计
}
protected abstract int getLayoutResId();
protected abstract void initData();
protected abstract void initView();
Activity的加载
public class FourActivity extends BaseActivity {
@Override
protected int getLayoutResId() {
return 0;
}
@Override
protected void initData() {
}
@Override
protected void initView() {
}
}
BaseFragment
public abstract class BaseFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//return super.onCreateView(inflater, container, savedInstanceState);
return inflater.inflate(getLayoutResId(), container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
initView(view);
initData();
}
protected abstract void initData();
protected abstract void initView(View view);
protected abstract int getLayoutResId() ;
继承Fragment
public class HomeFragment extends BaseFragment {
@Override
protected void initData() {
}
@Override
protected void initView(View view) {
//view.findViewById();
}
@Override
protected int getLayoutResId() {
return 0;
}
}
BaseAdapter
public abstract class MyBaseAdapter<T> extends BaseAdapter {
private List<T> mDatas;
protected Context mContext;
public MyBaseAdapter(Context mContext) {
this.mContext = mContext;
mDatas = new ArrayList<>();
}
public void setDatas(List<T> datas) {
mDatas.clear();
if(datas != null) {
mDatas.addAll(datas);
}
notifyDataSetChanged();
}
public void addDatas(List<T> datas) {
if(datas != null) {
mDatas.addAll(datas);
notifyDataSetChanged();
}
}
@Override
public int getCount() {
return mDatas.size();
}
@Override
public T getItem(int position) {
return mDatas.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
继承Adapter
public class NewsAdapter<String> extends MyBaseAdapter {
public NewsAdapter(Context mContext) {
super(mContext);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return null;
}
}