Pq преди 3 години
родител
ревизия
9e75152a1a

+ 50 - 0
BaseLibrary/src/main/java/com/cooleshow/base/widgets/EmptyViewLayout.java

@@ -0,0 +1,50 @@
+package com.cooleshow.base.widgets;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.cooleshow.base.R;
+
+import androidx.annotation.Nullable;
+
+/**
+ * Author by pq, Date on 2022/5/5.
+ */
+public class EmptyViewLayout extends FrameLayout {
+
+    private ImageView mIvEmptyIcon;
+    private TextView mTvEmptyTip;
+
+    public EmptyViewLayout(Context context) {
+        this(context, null);
+    }
+
+    public EmptyViewLayout(Context context, @Nullable AttributeSet attrs) {
+        this(context, attrs, -1);
+    }
+
+    public EmptyViewLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        init();
+    }
+
+    private void init() {
+        LayoutInflater.from(getContext()).inflate(R.layout.empty_layout, this);
+        mIvEmptyIcon = findViewById(R.id.iv_empty_icon);
+        mTvEmptyTip = findViewById(R.id.tv_empty_tip);
+    }
+
+    public void setContent(int drawableRes, String text) {
+        if (mIvEmptyIcon != null) {
+            mIvEmptyIcon.setImageResource(drawableRes);
+        }
+        if (mTvEmptyTip != null) {
+            mTvEmptyTip.setText(text);
+        }
+    }
+}

+ 4 - 6
teacher/src/main/java/com/cooleshow/teacher/ui/comment/CourseCommentHasReplyFragment.java

@@ -16,6 +16,7 @@ import com.cooleshow.base.constanst.Constanst;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.TimeUtils;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.CourseCommentNotReplyAdapter;
 import com.cooleshow.teacher.bean.CourseCommentListBean;
@@ -42,7 +43,7 @@ public class CourseCommentHasReplyFragment extends BaseMVPFragment<FragmentCours
     private String currentFilterDate;
     private String currentStudentName;
     private int currentPage = 1;
-    private View mEmptyView;
+    private EmptyViewLayout mEmptyView;
     private TextView mTvEmptyTip;
     private ImageView mEmptyIcon;
     private boolean hasNext = true;
@@ -250,12 +251,9 @@ public class CourseCommentHasReplyFragment extends BaseMVPFragment<FragmentCours
 
     private void showEmptyView() {
         if (mEmptyView == null) {
-            mEmptyView = getLayoutInflater().inflate(com.cooleshow.base.R.layout.empty_layout, mAdapter.getEmptyLayout(), false);
-            mTvEmptyTip = mEmptyView.findViewById(com.cooleshow.base.R.id.tv_empty_tip);
-            mEmptyIcon = mEmptyView.findViewById(com.cooleshow.base.R.id.iv_empty_icon);
+            mEmptyView = new EmptyViewLayout(getContext());
         }
-        mTvEmptyTip.setText("暂无内容~");
-        mEmptyIcon.setImageResource(com.cooleshow.base.R.drawable.icon_empty_content);
+        mEmptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_content, "暂无内容~");
         mAdapter.setEmptyView(mEmptyView);
     }
 

+ 4 - 6
teacher/src/main/java/com/cooleshow/teacher/ui/comment/CourseCommentNoReplyFragment.java

@@ -16,6 +16,7 @@ import com.cooleshow.base.constanst.Constanst;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.TimeUtils;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.CourseCommentNotReplyAdapter;
 import com.cooleshow.teacher.bean.CourseCommentListBean;
@@ -42,7 +43,7 @@ public class CourseCommentNoReplyFragment extends BaseMVPFragment<FragmentCourse
     private String currentFilterDate;
     private String currentStudentName;
     private int currentPage = 1;
-    private View mEmptyView;
+    private EmptyViewLayout mEmptyView;
     private TextView mTvEmptyTip;
     private boolean hasNext = true;
     private CourseCommentNotReplyAdapter mAdapter;
@@ -250,12 +251,9 @@ public class CourseCommentNoReplyFragment extends BaseMVPFragment<FragmentCourse
 
     private void showEmptyView() {
         if (mEmptyView == null) {
-            mEmptyView = getLayoutInflater().inflate(com.cooleshow.base.R.layout.empty_layout, mAdapter.getEmptyLayout(), false);
-            mTvEmptyTip = mEmptyView.findViewById(com.cooleshow.base.R.id.tv_empty_tip);
-            mEmptyIcon = mEmptyView.findViewById(com.cooleshow.base.R.id.iv_empty_icon);
+            mEmptyView = new EmptyViewLayout(getContext());
         }
-        mTvEmptyTip.setText("暂无内容~");
-        mEmptyIcon.setImageResource(com.cooleshow.base.R.drawable.icon_empty_content);
+        mEmptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_content, "暂无内容~");
         mAdapter.setEmptyView(mEmptyView);
     }
 

+ 4 - 6
teacher/src/main/java/com/cooleshow/teacher/ui/comment/ReceivedCommentActivity.java

@@ -19,6 +19,7 @@ import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.TimeUtils;
 import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.base.widgets.DefaultTextWatcher;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.ReceivedCommentListAdapter;
 import com.cooleshow.teacher.bean.ReceivedCommentListBean;
@@ -47,7 +48,7 @@ public class ReceivedCommentActivity extends BaseMVPActivity<ActivityReceivedCom
     private String currentStudentName;
     private int currentPage = 1;
     private ReceivedCommentListAdapter mListAdapter;
-    private View mEmptyView;
+    private EmptyViewLayout mEmptyView;
     private TextView mTvEmptyTip;
     private ImageView mEmptyIcon;
     private boolean hasNext = true;
@@ -234,12 +235,9 @@ public class ReceivedCommentActivity extends BaseMVPActivity<ActivityReceivedCom
      */
     private void showEmptyView() {
         if (mEmptyView == null) {
-            mEmptyView = getLayoutInflater().inflate(com.cooleshow.base.R.layout.empty_layout, mListAdapter.getEmptyLayout(), false);
-            mTvEmptyTip = mEmptyView.findViewById(com.cooleshow.base.R.id.tv_empty_tip);
-            mEmptyIcon = mEmptyView.findViewById(com.cooleshow.base.R.id.iv_empty_icon);
+            mEmptyView = new EmptyViewLayout(this);
         }
-        mTvEmptyTip.setText("暂无内容~");
-        mEmptyIcon.setImageResource(com.cooleshow.base.R.drawable.icon_empty_content);
+        mEmptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_content, "暂无内容~");
         mListAdapter.setEmptyView(mEmptyView);
     }
 

+ 4 - 6
teacher/src/main/java/com/cooleshow/teacher/ui/course/LiveCourseFragment.java

@@ -19,6 +19,7 @@ import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.PopupUtil;
 import com.cooleshow.base.utils.TimeUtils;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.CourseStatusFilterAdapter;
 import com.cooleshow.teacher.adapter.LiveCourseListAdapter;
@@ -49,7 +50,7 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
     private int currentSubjectId;
     private int currentPage;
     private LiveCourseListAdapter mAdapter;
-    private View mEmptyView;
+    private EmptyViewLayout mEmptyView;
     private TextView mTvEmptyTip;
     private ImageView mEmptyIcon;
     private TimePickerView pvTime;
@@ -192,12 +193,9 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
 
     private void showEmptyView() {
         if (mEmptyView == null) {
-            mEmptyView = getLayoutInflater().inflate(com.cooleshow.base.R.layout.empty_layout, mAdapter.getEmptyLayout(), false);
-            mTvEmptyTip = mEmptyView.findViewById(com.cooleshow.base.R.id.tv_empty_tip);
-            mEmptyIcon = mEmptyView.findViewById(com.cooleshow.base.R.id.iv_empty_icon);
+            mEmptyView = new EmptyViewLayout(getContext());
         }
-        mTvEmptyTip.setText("暂无课程~");
-        mEmptyIcon.setImageResource(com.cooleshow.base.R.drawable.icon_empty_course);
+        mEmptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_course, "暂无课程~");
         mAdapter.setEmptyView(mEmptyView);
     }
 

+ 5 - 6
teacher/src/main/java/com/cooleshow/teacher/ui/course/SparringCourseFragment.java

@@ -21,6 +21,7 @@ import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.PopupUtil;
 import com.cooleshow.base.utils.TimeUtils;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.CourseStatusFilterAdapter;
 import com.cooleshow.teacher.adapter.SparringCourseListAdapter;
@@ -52,7 +53,7 @@ public class SparringCourseFragment extends BaseMVPFragment<FragmentSparringCour
     private int currentPage;
     private boolean hasNext = true;
     private SparringCourseListAdapter mAdapter;
-    private View mEmptyView;
+    private EmptyViewLayout mEmptyView;
     private TextView mTvEmptyTip;
     private ImageView mEmptyIcon;
     private TimePickerView pvTime;
@@ -206,14 +207,12 @@ public class SparringCourseFragment extends BaseMVPFragment<FragmentSparringCour
         }
     }
 
+
     private void showEmptyView() {
         if (mEmptyView == null) {
-            mEmptyView = getLayoutInflater().inflate(com.cooleshow.base.R.layout.empty_layout, mAdapter.getEmptyLayout(), false);
-            mTvEmptyTip = mEmptyView.findViewById(com.cooleshow.base.R.id.tv_empty_tip);
-            mEmptyIcon = mEmptyView.findViewById(com.cooleshow.base.R.id.iv_empty_icon);
+            mEmptyView = new EmptyViewLayout(getContext());
         }
-        mTvEmptyTip.setText("暂无课程~");
-        mEmptyIcon.setImageResource(com.cooleshow.base.R.drawable.icon_empty_course);
+        mEmptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_course, "暂无课程~");
         mAdapter.setEmptyView(mEmptyView);
     }
 

+ 4 - 6
teacher/src/main/java/com/cooleshow/teacher/ui/course/VideoCourseFragment.java

@@ -15,6 +15,7 @@ import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.PopupUtil;
 import com.cooleshow.base.utils.SizeUtils;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.CourseStatusFilterAdapter;
 import com.cooleshow.teacher.adapter.VideoCourseListAdapter;
@@ -39,7 +40,7 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
     private int currentSubjectId;
     private int currentPage;
     private VideoCourseListAdapter mAdapter;
-    private View mEmptyView;
+    private EmptyViewLayout mEmptyView;
     private TextView mTvEmptyTip;
     private ImageView mEmptyIcon;
     private PopupWindow mPopupWindow;
@@ -201,12 +202,9 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
 
     private void showEmptyView() {
         if (mEmptyView == null) {
-            mEmptyView = getLayoutInflater().inflate(com.cooleshow.base.R.layout.empty_layout, mAdapter.getEmptyLayout(), false);
-            mTvEmptyTip = mEmptyView.findViewById(com.cooleshow.base.R.id.tv_empty_tip);
-            mEmptyIcon = mEmptyView.findViewById(com.cooleshow.base.R.id.iv_empty_icon);
+            mEmptyView = new EmptyViewLayout(getContext());
         }
-        mTvEmptyTip.setText("暂无课程~");
-        mEmptyIcon.setImageResource(com.cooleshow.base.R.drawable.icon_empty_course);
+        mEmptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_course, "暂无课程~");
         mAdapter.setEmptyView(mEmptyView);
     }
 

+ 5 - 11
teacher/src/main/java/com/cooleshow/teacher/ui/main/CourseTableFragment.kt

@@ -15,20 +15,18 @@ import com.chad.library.adapter.base.listener.OnItemClickListener
 import com.cooleshow.base.ui.fragment.BaseMVPFragment
 import com.cooleshow.base.utils.SizeUtils
 import com.cooleshow.base.utils.TimeUtils
-import com.cooleshow.base.utils.ToastUtils
+import com.cooleshow.base.widgets.EmptyViewLayout
 import com.cooleshow.teacher.CourseHelper
 import com.cooleshow.teacher.R
 import com.cooleshow.teacher.adapter.CourseTableListAdapter
 import com.cooleshow.teacher.bean.CourseTableDataBean
 import com.cooleshow.teacher.contract.CourseTableContract
-import com.cooleshow.teacher.contract.HomeContract
 import com.cooleshow.teacher.databinding.FragmentCourseTableLayoutBinding
 import com.cooleshow.teacher.presenter.main.CourseTablePresenter
 import com.cooleshow.teacher.widgets.CalendarExpandDecoration
 import com.cooleshow.teacher.widgets.CalendarShrinkDecoration
 import com.haibin.calendarview.CalendarView
 import kotlinx.android.synthetic.main.fragment_course_table_layout.*
-import org.w3c.dom.Text
 import java.util.*
 
 
@@ -46,7 +44,7 @@ class CourseTableFragment :
     private lateinit var calendarShrinkDecoration: CalendarShrinkDecoration
     private lateinit var adapter: CourseTableListAdapter
     private lateinit var pvTime: TimePickerView
-    private lateinit var emptyView: View
+    private lateinit var emptyView: EmptyViewLayout
     private lateinit var emptyText: TextView
     private lateinit var emptyIcon: ImageView
     private var day: Int = -1;
@@ -220,14 +218,10 @@ class CourseTableFragment :
 
     private fun showEmptyView() {
         if (!::emptyView.isInitialized) {
-            emptyView = LayoutInflater.from(requireContext())
-                .inflate(com.cooleshow.base.R.layout.empty_layout, adapter?.emptyLayout, false)
-            emptyText = emptyView.findViewById<TextView>(com.cooleshow.base.R.id.tv_empty_tip)
-            emptyIcon = emptyView.findViewById<ImageView>(com.cooleshow.base.R.id.iv_empty_icon)
+            emptyView = EmptyViewLayout(context)
         }
-        emptyText.text = "暂无课程~"
-        emptyIcon.setImageResource(com.cooleshow.base.R.drawable.icon_empty_course)
-        adapter?.setEmptyView(emptyView)
+        emptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_course, "暂无课程~")
+        adapter.setEmptyView(emptyView)
     }
 
     override fun onClick(v: View?) {