android 之 Baseactivity 和BaseFragment
2016-08-30 15:30
393 查看
baseActivity
2.baseFragment
/** * @author 作者名 易皇星 * @email 邮箱名 15095887072@163.com * @time 2016-5-14 2016-05 * @TODO 缘分是本书,翻得不经意会错过,读得太认真会流泪! */ public abstract class BaseActivity extends FragmentActivity implements OnClickListener{ protected final SparseArray<View> mViews = new SparseArray<View>(); @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(initLayout(savedInstanceState)); /** * 加载视图 */ initLayout(savedInstanceState); /** * 初始化控件 */ initView(savedInstanceState); /** * * 初始化数据 */ initData(savedInstanceState); /** * 添加事件监听对象 */ initListener(savedInstanceState); } /** * 再也不需要每次都findViewById * * @param resId 控件的id * @return */ protected <V extends View> V getView(int resId) { return bindView(resId); } private <V extends View> V bindView(int resId) { View view = mViews.get(resId); if (view == null) { view = findViewById(resId); mViews.put(resId, view); } return (V) view; } protected abstract int initLayout(Bundle savedInstanceState); protected abstract void initView(Bundle savedInstanceState); protected abstract void initData(Bundle savedInstanceState); protected abstract void initListener(Bundle savedInstanceState); /** * * @param view 事件监听 */ protected abstract void widgetClick(View view); @Override public void onClick(View v) { // TODO Auto-generated method stub if(fastClick()){ widgetClick(v); } } private long lastClick =0; /** * * @return 控制短时间内重复点击事件----看个人爱好而定 */ private boolean fastClick(){ if(System.currentTimeMillis()-lastClick<=500){ return false; } lastClick=System.currentTimeMillis(); return true; } }
2.baseFragment
/** * @author 作者名 易皇星 * @email 邮箱名 15095887072@163.com * @time 2016-5-14 2016-05 * @TODO 缘分是本书,翻得不经意会错过,读得太认真会流泪! */ public abstract class BaseFragment extends Fragment implements OnClickListener{ protected Context mcontext; private static final String tag = "BaseFragment"; protected View mRootVie; protected final SparseArray<View> mViews = new SparseArray<View>(); @Override public void onCreate( Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); mcontext=getActivity(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (mRootView == null) { mRootView = inflater.inflate(getLayoutId(), container, false); onViewInflated(); setListener(); } return mRootView; } /** * * 用get代替findViewById(); * @param resId * @return */ protected <V extends View> V get(int resId){ return bindView(resId); } private <V extends View > V bindView(int resId){ View view = mViews.get(resId); if(view==null){ view = mRootView.findViewById(resId); mViews.put(resId, view); } return (V) view; } /** * 加载布局 * @return */ protected abstract int getLayoutId(); /** * 初始化控件 */ protected abstract void onViewInflated(); /** * 添加事件监听对象 */ protected abstract void setListener(); /** * * @param view 事件监听 */ protected abstract void widgetClick(View view); @Override public void onClick(View v) { // TODO Auto-generated method stub if (fastClick()) { widgetClick(v); } } private long lastClick = 0; /** * * @return 控制短时间内重复点击事件----看个人爱好而定 */ private boolean fastClick() { if (System.currentTimeMillis() - lastClick <= 500) { return false; } lastClick = System.currentTimeMillis(); return true; } }
相关文章推荐
- android中定义BaseActivity
- Android:getApplicationContext()、Activity.this、 getBaseContext()区别
- Android开发,实用的BaseActivity的创建及使用
- Android中基类BaseActivity的设计与实现
- android 成长日记 4.BaseActivity的实现和ActivityCollectio实现
- 为你的Android应用定制属于你的BaseActivity
- Android中Activity.this,getApplicationContext(),getBaseContext()和this详解
- Android开发优化-使用BaseActivity
- Android 继承BaseActivity的典型用法
- 为你的Android应用定制属于你的BaseActivity
- Android BaseSavedState 以及 Activity onSaveInstanceState 和 onRestoreInstanceState 方法使用注意事项
- Android中Activity.this,getApplicationContext(),getBaseContext()和this详解
- Android中Activity.this,getApplicationContext(),getBaseContext()和this详解
- Android App框架设计之编写基类BaseActivity
- android BaseActivity
- Android短信(baseactivity抽取相同代码块,复用代码,减少工作量)短信管家4
- Android学习心得--关于BaseActivity
- android应用框架搭建------BaseActivity
- android(base)Activity启动方法
- Android中BaseActivity的用法