#### MyActivity > 所有的 Activity 必须继承至 MyActivity,如果使用 MVP 请继承至 MvpActivity,已经处理了 Activity 多重启动的问题,[详情可点击此处查看](https://www.jianshu.com/p/579f1f118161) > 获取 Context 或者 Activity public Context getContext() public A getActivity() > startActivity 方法优化 public void startActivity(Class cls) public void startActivityFinish(Class cls) public void startActivityFinish(Intent intent) > startActivityForResult 方法优化 public void startActivityForResult(Intent intent, ActivityCallback callback) public void startActivityForResult(Intent intent, @Nullable Bundle options, ActivityCallback callback) > setResult 方法优化 public void finishResult(int resultCode) public void finishResult(int resultCode, Intent data) > Activity 标题 public void setTitle(int titleId) public void setTitle(CharSequence title) public CharSequence getTitle() > Toast 方法 public void toast(CharSequence s) public void toast(int id) public void toast(Object object) > Handler 方法 public static Handler getHandler() > TitleBar 方法 public TitleBar getTitleBar() > TitleBar 监听方法(需要被重写) // 标题栏左项被点击了,默认返回 public void onLeftClick(View v) // 标题栏中间项被点击了 public void onTitleClick(View v) // 标题栏右项被点击了 public void onRightClick(View v) #### MyFragment > 获取Activity,防止出现 getActivity() 为空 public FragmentActivity getFragmentActivity() > 是否进行了懒加载 protected boolean isLazyLoad() > 当前 Fragment 是否可见 public boolean isFragmentVisible() > 跟 Activity 的同名方法效果一样 protected void onRestart() > 根据资源 id 获取一个 View 对象 protected T findViewById(@IdRes int id) protected T findActivityViewById(@IdRes int id) > 跳转到其他Activity public void startActivity(Class cls) > 销毁当前 Fragment 所在的 Activity public void finish() > 获取系统服务 public Object getSystemService(@NonNull String name) > Fragment返回键被按下时回调(只做预留方法,没有效果) public boolean onKeyDown(int keyCode, KeyEvent event) > Toast 方法 public void toast(CharSequence s) public void toast(int id) public void toast(Object object) ##### MyRecyclerViewAdapter > 获取 RecyclerView 或者 Context public RecyclerView getRecyclerView() public Context getContext() > 布局摆放器(可以被重载,由于 RecyclerView 不能没有设置 LayoutManager,这里设置了默认的) protected RecyclerView.LayoutManager getDefaultLayoutManager(Context context) { return new LinearLayoutManager(context); } > 分页逻辑预留方法 public int getPageNumber() public void setPageNumber(int pageNumber) public boolean isLastPage() public void setLastPage(boolean lastPage) > 标记方法 public Object getTag() public void setTag(Object tag) > 操作数据集合 public void setData(List data) public List getData() public void addData(List data) public void clearData() > 操作单个数据 public T getItem(int position) public void setItem(int position, T item) public void addItem(T item) public void addItem(int position, T item) public void removeItem(T item) public void removeItem(int position) > MyRecyclerViewAdapter.ViewHolder 方法 public final View getItemView() public final V findViewById(@IdRes int viewId) public final ViewHolder setText(@IdRes int viewId, @StringRes int resId) public final ViewHolder setText(@IdRes int viewId, String text) public final ViewHolder setVisibility(@IdRes int viewId, int visibility) public final ViewHolder setColor(@IdRes int viewId, @ColorInt int color) public final ViewHolder setImage(@IdRes int viewId, @DrawableRes int resId) > 监听方法(必须在 RecyclerView.setAdapter 之前调用) public void setOnItemClickListener(OnItemClickListener l) public void setOnChildClickListener(@IdRes int childId, OnChildClickListener l) public void setOnItemLongClickListener(OnItemLongClickListener l) public void setOnChildLongClickListener(@IdRes int childId, OnChildLongClickListener l) public void setOnScrollingListener(OnScrollingListener l) > MyListViewAdapter 和 MyRecyclerViewAdapter 差不多,只不过没有上面这些监听方法,因为 ListView 本身已经自带这些了