diff --git a/app/src/main/java/com/hjx/parent/fragment/ErrorFragment.java b/app/src/main/java/com/hjx/parent/fragment/ErrorFragment.java index 60b2e61..5b188d3 100644 --- a/app/src/main/java/com/hjx/parent/fragment/ErrorFragment.java +++ b/app/src/main/java/com/hjx/parent/fragment/ErrorFragment.java @@ -66,6 +66,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; @@ -141,10 +142,12 @@ public class ErrorFragment extends BaseRxFragment { if (subject != item.getAdapterPosition()) { subject = item.getAdapterPosition(); String subStr = getResources().getStringArray(R.array.filter_subject)[subject]; + getError(subStr); + getHomework(subStr); if (binding.tabLayout.getSelectedTabPosition() == 0) { - getError(subStr); + binding.tvListTitle.setText("最近错题"); } else { - // nothing can do + binding.tvListTitle.setText("最近作业"); } } }); @@ -263,13 +266,17 @@ public class ErrorFragment extends BaseRxFragment { } @SuppressLint("CheckResult") - protected void getHomework() { + protected void getHomework(String subject) { if (studentBean == null) return; NetWorks.service_url.getStudentHomework(NetWorks.getHeader(), studentBean.getStuId()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(RxLifecycleAndroid.bindFragment(getRxLifecycle())) .map(ResponseResult::getData) + .toObservable() + .flatMap(Observable::fromIterable) + .filter(data -> subject.equals(data.getSubject())) + .toList() .subscribe((data, th) -> { if (th != null) th.printStackTrace(); if (data != null) { @@ -321,8 +328,9 @@ public class ErrorFragment extends BaseRxFragment { @Override public void onResume() { super.onResume(); - getError(getResources().getStringArray(R.array.filter_subject)[subject]); - getHomework(); + String subStr = getResources().getStringArray(R.array.filter_subject)[subject]; + getError(subStr); + getHomework(subStr); } public class HandlerCallBack implements IHandlerCallBack { diff --git a/app/src/main/res/layout/fragment_error_book.xml b/app/src/main/res/layout/fragment_error_book.xml index 0e24078..58baa22 100644 --- a/app/src/main/res/layout/fragment_error_book.xml +++ b/app/src/main/res/layout/fragment_error_book.xml @@ -137,7 +137,7 @@ android:id="@+id/tvListTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="最近录入错题" + android:text="最近错题" android:textColor="#333333" android:textSize="16sp" android:textStyle="bold" />