BaseFragment基类封装
2017-07-04 10:10
309 查看
** * Fragment基类 * Created by guo on 2017/6/19. */ public abstract class BaseFragment extends Fragment implements View.OnClickListener{ /** * 设置onCreateView * @return R.layout.xxx */ protected abstract int getLayoutId(); /** * 初始化View */ protected abstract void initView(View view); /** * add Listener */ protected abstract void setListener(); /** * view点击 * @param v */ public abstract void widgetClick(View v); private View view; private Context context; /** * fragment和activity被关联时调用 * */ @Override public void onAttach(Context context) { super.onAttach(context); this.context=context; } /** * fragment和activity去关联时调用。 */ @Override public void onDetach() { super.onDetach(); this.context=null; } /** * *创建fragment的UI被初始化时调用 */ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view=inflater.inflate(getLayoutId(),null); initView(view); setListener(); return view; } @Override public void onClick(View v) { if (fastClick()) widgetClick(v); } private long lastClick = 0; private boolean fastClick() { if (System.currentTimeMillis() - lastClick <= 1000) { return false; } lastClick = System.currentTimeMillis(); return true; } /** *findViewById() * @param id * @param <T> * @return */ protected <T extends View> T $findViewById(int id) { return (T) view.findViewById(id); } /** * Toast */ protected void $toast(CharSequence msg) { Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); } /** * 网络是否可用 * * @param context * @return */ protected boolean isNetworkAvailable(Context context) { ConnectivityManager mgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo[] info = mgr.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } return false; } }
相关文章推荐
- BaseActivity和BaseFragment 的封装
- Android中BaseFragment封装多状态视图显示
- Android当中的MVP模式(六)View 层 Activity 的基类--- BaseMvpActivity 的封装
- BaseActivity与BaseFragment的封装
- 《一个Android工程的从零开始》-6、base(五) BaseFragment封装
- MVP实战心得(二)---Base基类的封装
- Android 基类BaseActivity的封装
- MVP实战心得(二)---Base基类的封装
- 从BaseActivity与BaseFragment的封装谈起
- Android 谈谈封装那些事 --BaseActivity 和 BaseFragment(二)
- 基类Base和DialogFragment类封装的nice对话框
- 编写基类BaseFragment
- BaseActivity与BaseFragment的封装
- BaseActivity与BaseFragment的简单封装
- 从BaseActivity与BaseFragment的封装谈起
- Android探索之旅(第二十八篇)BaseActivity,BaseFragment封装必要点
- 从BaseActivity与BaseFragment的封装谈
- 从BaseActivity与BaseFragment的封装谈起 不错的文章
- Android BaseActivity、BaseFragment等 常用方法封装
- 弹出浮层基类 BaseFloating 封装