e44c93e12d3203de998d8034b24f5a2fe3267391.svn-base 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. package eVVM.apk.common;
  2. import android.graphics.drawable.Drawable;
  3. import android.os.Bundle;
  4. import android.os.Handler;
  5. import android.os.Looper;
  6. import android.os.SystemClock;
  7. import android.support.annotation.DrawableRes;
  8. import android.support.annotation.NonNull;
  9. import android.support.annotation.Nullable;
  10. import android.support.annotation.StringRes;
  11. import android.util.Log;
  12. import android.view.Gravity;
  13. import android.view.LayoutInflater;
  14. import android.view.View;
  15. import android.view.ViewGroup;
  16. import com.hjq.bar.TitleBar;
  17. import com.hjq.base.BaseDialog;
  18. import com.hjq.dialog.MenuDialog;
  19. import com.hjq.toast.ToastUtils;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. import butterknife.ButterKnife;
  23. import butterknife.Unbinder;
  24. import eVVM.apk.helper.DebugUtils;
  25. import eVVM.apk.other.EventBusManager;
  26. import eVVM.apk.other.StatusManager;
  27. public abstract class MyLazyFragment<A extends MyActivity> extends UILazyFragment<A> {
  28. private Unbinder mButterKnife; // View注解
  29. private static final Handler FHANDLER = new Handler(Looper.getMainLooper());
  30. @Override
  31. public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  32. View view = super.onCreateView(inflater, container, savedInstanceState);
  33. mButterKnife = ButterKnife.bind(this, view);
  34. return view;
  35. }
  36. @Override
  37. protected void initFragment() {
  38. super.initFragment();
  39. EventBusManager.register(this);
  40. }
  41. @Override
  42. public void onDestroy() {
  43. super.onDestroy();
  44. if (mButterKnife != null) {
  45. mButterKnife.unbind();
  46. }
  47. EventBusManager.unregister(this);
  48. }
  49. @Nullable
  50. public TitleBar getTitleBar() {
  51. if (getTitleId() > 0 && findViewById(getTitleId()) instanceof TitleBar) {
  52. return findViewById(getTitleId());
  53. }
  54. return null;
  55. }
  56. private List<String> toastList = new ArrayList<>();
  57. /**
  58. * 显示吐司
  59. */
  60. public void toast(CharSequence s) {
  61. //ToastUtils.show(s);
  62. toastList.clear();
  63. toastList.add(s.toString());
  64. final BaseDialog show = new MenuDialog.Builder(getActivity())
  65. .setCancel(null) // 设置 null 表示不显示取消按钮
  66. .setAutoDismiss(false) // 设置点击按钮后不关闭对话框
  67. .setList(toastList)
  68. .setGravity(Gravity.BOTTOM)
  69. .setAnimStyle(BaseDialog.AnimStyle.BOTTOM)
  70. .show();
  71. postDelayed(new Runnable() {
  72. @Override
  73. public void run() {
  74. show.dismiss();
  75. }
  76. }, 2000);
  77. }
  78. public void toast(int id) {
  79. ToastUtils.show(id);
  80. }
  81. public void toast(Object object) {
  82. ToastUtils.show(object);
  83. }
  84. /**
  85. * 延迟执行
  86. */
  87. public final boolean post(Runnable r) {
  88. return postDelayed(r, 0);
  89. }
  90. /**
  91. * 延迟一段时间执行
  92. */
  93. public final boolean postDelayed(Runnable r, long delayMillis) {
  94. if (delayMillis < 0) {
  95. delayMillis = 0;
  96. }
  97. return postAtTime(r, SystemClock.uptimeMillis() + delayMillis);
  98. }
  99. /**
  100. * 在指定的时间执行
  101. */
  102. public final boolean postAtTime(Runnable r, long uptimeMillis) {
  103. return FHANDLER.postAtTime(r, this, uptimeMillis);
  104. }
  105. @Override
  106. public void onDestroyView() {
  107. super.onDestroyView();
  108. FHANDLER.removeCallbacksAndMessages(this);
  109. }
  110. /**
  111. * 打印日志
  112. */
  113. public void log(Object object) {
  114. if (DebugUtils.isDebug(getBindingActivity())) {
  115. Log.v(getClass().getSimpleName(), object != null ? object.toString() : "null");
  116. }
  117. }
  118. @Override
  119. public void onResume() {
  120. super.onResume();
  121. //UmengClient.onResume(this);
  122. }
  123. @Override
  124. public void onPause() {
  125. // UmengClient.onPause(this);
  126. super.onPause();
  127. }
  128. private final StatusManager mStatusManager = new StatusManager();
  129. /**
  130. * 显示加载中
  131. */
  132. public void showLoading() {
  133. mStatusManager.showLoading(getBindingActivity());
  134. }
  135. /**
  136. * 显示加载完成
  137. */
  138. public void showComplete() {
  139. mStatusManager.showComplete();
  140. }
  141. /**
  142. * 显示空提示
  143. */
  144. public void showEmpty() {
  145. mStatusManager.showEmpty(getView());
  146. }
  147. /**
  148. * 显示错误提示
  149. */
  150. public void showError() {
  151. mStatusManager.showError(getView());
  152. }
  153. /**
  154. * 显示自定义提示
  155. */
  156. public void showLayout(@DrawableRes int iconId, @StringRes int textId) {
  157. mStatusManager.showLayout(getView(), iconId, textId);
  158. }
  159. public void showLayout(Drawable drawable, CharSequence hint) {
  160. mStatusManager.showLayout(getView(), drawable, hint);
  161. }
  162. }