封裝BaseActivty,BaseFragment,MyBaseAdapter
阿新 • • 發佈:2018-11-24
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; } }