BaseAcitivty
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getResId());
initView(savedInstanceState);
initData();
}
protected abstract void initData();
protected abstract void initView(Bundle savedInstanceState);
public abstract int getResId();
}
BaseFragment
public abstract class BaseFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(getResId(),container,false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
initView(view);
initDate();
}
protected abstract void initDate();
public abstract void initView(View view);
protected abstract int getResId();
}
MyBaseAdapter
public abstract class MyBaseAdapter<T> extends BaseAdapter {
private List<T> mDatas;
protected Context mContext;
public MyBaseAdapter(Context mContext) {
this.mContext = mContext;
mDatas = new ArrayList<>();
}
@Override
public int getCount() {
return mDatas.size();
}
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 T getItem(int position) {
return mDatas.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
}