diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java index c5be3c2..0f1e3f5 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseHandledPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java index c5be3c2..0f1e3f5 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseHandledPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java index ee618ba..4d75342 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseTodoPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java index c5be3c2..0f1e3f5 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseHandledPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java index ee618ba..4d75342 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseTodoPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java index 899a8be..a2d7222 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseHandledBean; public interface ICaseHandledView { + void showProgress(); + + void hideProgress(); + void obtainHandledResult(CaseHandledBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java index c5be3c2..0f1e3f5 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseHandledPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java index ee618ba..4d75342 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseTodoPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java index 899a8be..a2d7222 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseHandledBean; public interface ICaseHandledView { + void showProgress(); + + void hideProgress(); + void obtainHandledResult(CaseHandledBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java index 8e9dc68..46496c7 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseTodoBean; public interface ICaseTodoView { + void showProgress(); + + void hideProgress(); + void obtainTodoResult(CaseTodoBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java index c5be3c2..0f1e3f5 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseHandledPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java index ee618ba..4d75342 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseTodoPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java index 899a8be..a2d7222 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseHandledBean; public interface ICaseHandledView { + void showProgress(); + + void hideProgress(); + void obtainHandledResult(CaseHandledBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java index 8e9dc68..46496c7 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseTodoBean; public interface ICaseTodoView { + void showProgress(); + + void hideProgress(); + void obtainTodoResult(CaseTodoBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java index f581970..e3b3a32 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.mvp.presenter.CaseListPresenterImpl; import com.casic.dcms.mvp.view.ICaseListView; +import com.casic.dcms.utils.ToastHelper; import com.qmuiteam.qmui.widget.QMUIEmptyView; import com.qmuiteam.qmui.widget.QMUITopBarLayout; import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; @@ -178,6 +179,9 @@ refreshLayout.finishRefresh(); isRefresh = false; } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } dataBeans.addAll(dataRows); refreshLayout.finishLoadMore(); isLoadMore = false; diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java index c5be3c2..0f1e3f5 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseHandledPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java index ee618ba..4d75342 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseTodoPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java index 899a8be..a2d7222 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseHandledBean; public interface ICaseHandledView { + void showProgress(); + + void hideProgress(); + void obtainHandledResult(CaseHandledBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java index 8e9dc68..46496c7 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseTodoBean; public interface ICaseTodoView { + void showProgress(); + + void hideProgress(); + void obtainTodoResult(CaseTodoBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java index f581970..e3b3a32 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.mvp.presenter.CaseListPresenterImpl; import com.casic.dcms.mvp.view.ICaseListView; +import com.casic.dcms.utils.ToastHelper; import com.qmuiteam.qmui.widget.QMUIEmptyView; import com.qmuiteam.qmui.widget.QMUITopBarLayout; import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; @@ -178,6 +179,9 @@ refreshLayout.finishRefresh(); isRefresh = false; } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } dataBeans.addAll(dataRows); refreshLayout.finishLoadMore(); isLoadMore = false; diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java index 85a2218..f378341 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -1,8 +1,11 @@ package com.casic.dcms.ui.fragment; +import android.annotation.SuppressLint; import android.content.Context; -import android.util.Log; +import android.os.Handler; +import android.os.Message; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -13,8 +16,15 @@ import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; import com.casic.dcms.mvp.view.ICaseHandledView; -import com.google.gson.Gson; +import com.casic.dcms.utils.ToastHelper; +import com.qmuiteam.qmui.widget.QMUIEmptyView; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; +import com.scwang.smartrefresh.layout.listener.OnRefreshListener; +import java.util.ArrayList; import java.util.List; import butterknife.BindView; @@ -23,11 +33,21 @@ private static final String TAG = "CaseHandledFragment"; private Context context; + @BindView(R.id.emptyView) + QMUIEmptyView emptyView; + @BindView(R.id.refreshLayout) + SmartRefreshLayout refreshLayout; @BindView(R.id.caseRecyclerView) RecyclerView caseRecyclerView; private CaseHandledPresenterImpl caseHandledPresenter; private int pageIndex = 0; private CaseHandledResultAdapter adapter; + private QMUITipDialog loadingDialog; + /** + * 临时存储网络请求到的数据 + */ + private List dataBeans = new ArrayList<>(); + private boolean isRefresh, isLoadMore = false; @Override protected int initLayoutView() { @@ -42,34 +62,102 @@ @Override protected void initData() { caseHandledPresenter = new CaseHandledPresenterImpl(this); - adapter = new CaseHandledResultAdapter(context); + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("案卷查询中,请稍后") + .create(); + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); } @Override protected void initEvent() { - caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + refreshLayout.setOnRefreshListener(new OnRefreshListener() { + @Override + public void onRefresh(@NonNull final RefreshLayout refreshLayout) { + isRefresh = true; + //刷新之后页码重置 + pageIndex = 0; + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + @Override + public void onLoadMore(@NonNull final RefreshLayout refreshLayout) { + isLoadMore = true; + pageIndex++; + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + } + + @Override + public void showProgress() { + loadingDialog.show(); + } + + @Override + public void hideProgress() { + loadingDialog.hide(); } @Override public void obtainHandledResult(CaseHandledBean resultBean) { - Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); +// Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List dataRows = resultBean.getData().getRows(); - adapter.setHandledData(dataRows); - caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); - caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); - caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { - @Override - public void onClick(int position) { -// Intent intent = new Intent(context, CaseDetailActivity.class); -// intent.putExtra("id", dataRows.get(position).getId()); -// startActivity(intent); + if (isRefresh) { + dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 + for (int i = 0; i < dataRows.size(); i++) { + dataBeans.add(0, dataRows.get(i)); } - }); + refreshLayout.finishRefresh(); + isRefresh = false; + } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } + dataBeans.addAll(dataRows); + refreshLayout.finishLoadMore(); + isLoadMore = false; + } else { + dataBeans = dataRows; + } + handler.sendEmptyMessage(202104252); } } + @SuppressLint("HandlerLeak") + private Handler handler = new Handler() { + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + if (msg.what == 202104252) { + if (isRefresh || isLoadMore) { + adapter.notifyDataSetChanged(); + } else { + //首次加载数据 + if (dataBeans.size() == 0) { + emptyView.show("您还没有已办案卷", null); + } else { + emptyView.hide(); + adapter = new CaseHandledResultAdapter(context, dataBeans); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity( intent); + } + }); + } + } + } + } + }; + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java index c5be3c2..0f1e3f5 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseHandledPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java index ee618ba..4d75342 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseTodoPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java index 899a8be..a2d7222 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseHandledBean; public interface ICaseHandledView { + void showProgress(); + + void hideProgress(); + void obtainHandledResult(CaseHandledBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java index 8e9dc68..46496c7 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseTodoBean; public interface ICaseTodoView { + void showProgress(); + + void hideProgress(); + void obtainTodoResult(CaseTodoBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java index f581970..e3b3a32 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.mvp.presenter.CaseListPresenterImpl; import com.casic.dcms.mvp.view.ICaseListView; +import com.casic.dcms.utils.ToastHelper; import com.qmuiteam.qmui.widget.QMUIEmptyView; import com.qmuiteam.qmui.widget.QMUITopBarLayout; import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; @@ -178,6 +179,9 @@ refreshLayout.finishRefresh(); isRefresh = false; } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } dataBeans.addAll(dataRows); refreshLayout.finishLoadMore(); isLoadMore = false; diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java index 85a2218..f378341 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -1,8 +1,11 @@ package com.casic.dcms.ui.fragment; +import android.annotation.SuppressLint; import android.content.Context; -import android.util.Log; +import android.os.Handler; +import android.os.Message; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -13,8 +16,15 @@ import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; import com.casic.dcms.mvp.view.ICaseHandledView; -import com.google.gson.Gson; +import com.casic.dcms.utils.ToastHelper; +import com.qmuiteam.qmui.widget.QMUIEmptyView; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; +import com.scwang.smartrefresh.layout.listener.OnRefreshListener; +import java.util.ArrayList; import java.util.List; import butterknife.BindView; @@ -23,11 +33,21 @@ private static final String TAG = "CaseHandledFragment"; private Context context; + @BindView(R.id.emptyView) + QMUIEmptyView emptyView; + @BindView(R.id.refreshLayout) + SmartRefreshLayout refreshLayout; @BindView(R.id.caseRecyclerView) RecyclerView caseRecyclerView; private CaseHandledPresenterImpl caseHandledPresenter; private int pageIndex = 0; private CaseHandledResultAdapter adapter; + private QMUITipDialog loadingDialog; + /** + * 临时存储网络请求到的数据 + */ + private List dataBeans = new ArrayList<>(); + private boolean isRefresh, isLoadMore = false; @Override protected int initLayoutView() { @@ -42,34 +62,102 @@ @Override protected void initData() { caseHandledPresenter = new CaseHandledPresenterImpl(this); - adapter = new CaseHandledResultAdapter(context); + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("案卷查询中,请稍后") + .create(); + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); } @Override protected void initEvent() { - caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + refreshLayout.setOnRefreshListener(new OnRefreshListener() { + @Override + public void onRefresh(@NonNull final RefreshLayout refreshLayout) { + isRefresh = true; + //刷新之后页码重置 + pageIndex = 0; + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + @Override + public void onLoadMore(@NonNull final RefreshLayout refreshLayout) { + isLoadMore = true; + pageIndex++; + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + } + + @Override + public void showProgress() { + loadingDialog.show(); + } + + @Override + public void hideProgress() { + loadingDialog.hide(); } @Override public void obtainHandledResult(CaseHandledBean resultBean) { - Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); +// Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List dataRows = resultBean.getData().getRows(); - adapter.setHandledData(dataRows); - caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); - caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); - caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { - @Override - public void onClick(int position) { -// Intent intent = new Intent(context, CaseDetailActivity.class); -// intent.putExtra("id", dataRows.get(position).getId()); -// startActivity(intent); + if (isRefresh) { + dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 + for (int i = 0; i < dataRows.size(); i++) { + dataBeans.add(0, dataRows.get(i)); } - }); + refreshLayout.finishRefresh(); + isRefresh = false; + } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } + dataBeans.addAll(dataRows); + refreshLayout.finishLoadMore(); + isLoadMore = false; + } else { + dataBeans = dataRows; + } + handler.sendEmptyMessage(202104252); } } + @SuppressLint("HandlerLeak") + private Handler handler = new Handler() { + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + if (msg.what == 202104252) { + if (isRefresh || isLoadMore) { + adapter.notifyDataSetChanged(); + } else { + //首次加载数据 + if (dataBeans.size() == 0) { + emptyView.show("您还没有已办案卷", null); + } else { + emptyView.hide(); + adapter = new CaseHandledResultAdapter(context, dataBeans); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity( intent); + } + }); + } + } + } + } + }; + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java index db0d4fc..c57106e 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -1,8 +1,11 @@ package com.casic.dcms.ui.fragment; +import android.annotation.SuppressLint; import android.content.Context; -import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -13,7 +16,15 @@ import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; import com.casic.dcms.mvp.view.ICaseTodoView; +import com.casic.dcms.utils.ToastHelper; +import com.qmuiteam.qmui.widget.QMUIEmptyView; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; +import com.scwang.smartrefresh.layout.listener.OnRefreshListener; +import java.util.ArrayList; import java.util.List; import butterknife.BindView; @@ -22,11 +33,21 @@ private static final String TAG = "CaseTodoFragment"; private Context context; + @BindView(R.id.emptyView) + QMUIEmptyView emptyView; + @BindView(R.id.refreshLayout) + SmartRefreshLayout refreshLayout; @BindView(R.id.caseRecyclerView) RecyclerView caseRecyclerView; private CaseTodoPresenterImpl caseTodoPresenter; private int pageIndex = 0; private CaseTodoResultAdapter adapter; + private QMUITipDialog loadingDialog; + /** + * 临时存储网络请求到的数据 + */ + private List dataBeans = new ArrayList<>(); + private boolean isRefresh, isLoadMore = false; @Override protected int initLayoutView() { @@ -41,34 +62,101 @@ @Override protected void initData() { caseTodoPresenter = new CaseTodoPresenterImpl(this); - adapter = new CaseTodoResultAdapter(context); + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("案卷查询中,请稍后") + .create(); + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); } @Override protected void initEvent() { - caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + refreshLayout.setOnRefreshListener(new OnRefreshListener() { + @Override + public void onRefresh(@NonNull final RefreshLayout refreshLayout) { + isRefresh = true; + //刷新之后页码重置 + pageIndex = 0; + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + @Override + public void onLoadMore(@NonNull final RefreshLayout refreshLayout) { + isLoadMore = true; + pageIndex++; + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + } + + @Override + public void showProgress() { + loadingDialog.show(); + } + + @Override + public void hideProgress() { + loadingDialog.hide(); } @Override public void obtainTodoResult(CaseTodoBean resultBean) { -// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List dataRows = resultBean.getData().getRows(); - adapter.setTodoData(dataRows); - caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); - caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); - caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { - @Override - public void onClick(int position) { -// Intent intent = new Intent(context, CaseDetailActivity.class); -// intent.putExtra("id", dataRows.get(position).getId()); -// startActivity(intent); + if (isRefresh) { + dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 + for (int i = 0; i < dataRows.size(); i++) { + dataBeans.add(0, dataRows.get(i)); } - }); + refreshLayout.finishRefresh(); + isRefresh = false; + } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } + dataBeans.addAll(dataRows); + refreshLayout.finishLoadMore(); + isLoadMore = false; + } else { + dataBeans = dataRows; + } + handler.sendEmptyMessage(202104251); } } + @SuppressLint("HandlerLeak") + private Handler handler = new Handler() { + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + if (msg.what == 202104251) { + if (isRefresh || isLoadMore) { + adapter.notifyDataSetChanged(); + } else { + //首次加载数据 + if (dataBeans.size() == 0) { + emptyView.show("您暂时没有待办案卷", null); + } else { + emptyView.hide(); + adapter = new CaseTodoResultAdapter(context, dataBeans); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity( intent); + } + }); + } + } + } + } + }; + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java index c5be3c2..0f1e3f5 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseHandledPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java index ee618ba..4d75342 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseTodoPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java index 899a8be..a2d7222 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseHandledBean; public interface ICaseHandledView { + void showProgress(); + + void hideProgress(); + void obtainHandledResult(CaseHandledBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java index 8e9dc68..46496c7 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseTodoBean; public interface ICaseTodoView { + void showProgress(); + + void hideProgress(); + void obtainTodoResult(CaseTodoBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java index f581970..e3b3a32 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.mvp.presenter.CaseListPresenterImpl; import com.casic.dcms.mvp.view.ICaseListView; +import com.casic.dcms.utils.ToastHelper; import com.qmuiteam.qmui.widget.QMUIEmptyView; import com.qmuiteam.qmui.widget.QMUITopBarLayout; import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; @@ -178,6 +179,9 @@ refreshLayout.finishRefresh(); isRefresh = false; } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } dataBeans.addAll(dataRows); refreshLayout.finishLoadMore(); isLoadMore = false; diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java index 85a2218..f378341 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -1,8 +1,11 @@ package com.casic.dcms.ui.fragment; +import android.annotation.SuppressLint; import android.content.Context; -import android.util.Log; +import android.os.Handler; +import android.os.Message; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -13,8 +16,15 @@ import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; import com.casic.dcms.mvp.view.ICaseHandledView; -import com.google.gson.Gson; +import com.casic.dcms.utils.ToastHelper; +import com.qmuiteam.qmui.widget.QMUIEmptyView; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; +import com.scwang.smartrefresh.layout.listener.OnRefreshListener; +import java.util.ArrayList; import java.util.List; import butterknife.BindView; @@ -23,11 +33,21 @@ private static final String TAG = "CaseHandledFragment"; private Context context; + @BindView(R.id.emptyView) + QMUIEmptyView emptyView; + @BindView(R.id.refreshLayout) + SmartRefreshLayout refreshLayout; @BindView(R.id.caseRecyclerView) RecyclerView caseRecyclerView; private CaseHandledPresenterImpl caseHandledPresenter; private int pageIndex = 0; private CaseHandledResultAdapter adapter; + private QMUITipDialog loadingDialog; + /** + * 临时存储网络请求到的数据 + */ + private List dataBeans = new ArrayList<>(); + private boolean isRefresh, isLoadMore = false; @Override protected int initLayoutView() { @@ -42,34 +62,102 @@ @Override protected void initData() { caseHandledPresenter = new CaseHandledPresenterImpl(this); - adapter = new CaseHandledResultAdapter(context); + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("案卷查询中,请稍后") + .create(); + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); } @Override protected void initEvent() { - caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + refreshLayout.setOnRefreshListener(new OnRefreshListener() { + @Override + public void onRefresh(@NonNull final RefreshLayout refreshLayout) { + isRefresh = true; + //刷新之后页码重置 + pageIndex = 0; + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + @Override + public void onLoadMore(@NonNull final RefreshLayout refreshLayout) { + isLoadMore = true; + pageIndex++; + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + } + + @Override + public void showProgress() { + loadingDialog.show(); + } + + @Override + public void hideProgress() { + loadingDialog.hide(); } @Override public void obtainHandledResult(CaseHandledBean resultBean) { - Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); +// Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List dataRows = resultBean.getData().getRows(); - adapter.setHandledData(dataRows); - caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); - caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); - caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { - @Override - public void onClick(int position) { -// Intent intent = new Intent(context, CaseDetailActivity.class); -// intent.putExtra("id", dataRows.get(position).getId()); -// startActivity(intent); + if (isRefresh) { + dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 + for (int i = 0; i < dataRows.size(); i++) { + dataBeans.add(0, dataRows.get(i)); } - }); + refreshLayout.finishRefresh(); + isRefresh = false; + } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } + dataBeans.addAll(dataRows); + refreshLayout.finishLoadMore(); + isLoadMore = false; + } else { + dataBeans = dataRows; + } + handler.sendEmptyMessage(202104252); } } + @SuppressLint("HandlerLeak") + private Handler handler = new Handler() { + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + if (msg.what == 202104252) { + if (isRefresh || isLoadMore) { + adapter.notifyDataSetChanged(); + } else { + //首次加载数据 + if (dataBeans.size() == 0) { + emptyView.show("您还没有已办案卷", null); + } else { + emptyView.hide(); + adapter = new CaseHandledResultAdapter(context, dataBeans); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity( intent); + } + }); + } + } + } + } + }; + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java index db0d4fc..c57106e 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -1,8 +1,11 @@ package com.casic.dcms.ui.fragment; +import android.annotation.SuppressLint; import android.content.Context; -import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -13,7 +16,15 @@ import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; import com.casic.dcms.mvp.view.ICaseTodoView; +import com.casic.dcms.utils.ToastHelper; +import com.qmuiteam.qmui.widget.QMUIEmptyView; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; +import com.scwang.smartrefresh.layout.listener.OnRefreshListener; +import java.util.ArrayList; import java.util.List; import butterknife.BindView; @@ -22,11 +33,21 @@ private static final String TAG = "CaseTodoFragment"; private Context context; + @BindView(R.id.emptyView) + QMUIEmptyView emptyView; + @BindView(R.id.refreshLayout) + SmartRefreshLayout refreshLayout; @BindView(R.id.caseRecyclerView) RecyclerView caseRecyclerView; private CaseTodoPresenterImpl caseTodoPresenter; private int pageIndex = 0; private CaseTodoResultAdapter adapter; + private QMUITipDialog loadingDialog; + /** + * 临时存储网络请求到的数据 + */ + private List dataBeans = new ArrayList<>(); + private boolean isRefresh, isLoadMore = false; @Override protected int initLayoutView() { @@ -41,34 +62,101 @@ @Override protected void initData() { caseTodoPresenter = new CaseTodoPresenterImpl(this); - adapter = new CaseTodoResultAdapter(context); + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("案卷查询中,请稍后") + .create(); + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); } @Override protected void initEvent() { - caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + refreshLayout.setOnRefreshListener(new OnRefreshListener() { + @Override + public void onRefresh(@NonNull final RefreshLayout refreshLayout) { + isRefresh = true; + //刷新之后页码重置 + pageIndex = 0; + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + @Override + public void onLoadMore(@NonNull final RefreshLayout refreshLayout) { + isLoadMore = true; + pageIndex++; + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + } + + @Override + public void showProgress() { + loadingDialog.show(); + } + + @Override + public void hideProgress() { + loadingDialog.hide(); } @Override public void obtainTodoResult(CaseTodoBean resultBean) { -// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List dataRows = resultBean.getData().getRows(); - adapter.setTodoData(dataRows); - caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); - caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); - caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { - @Override - public void onClick(int position) { -// Intent intent = new Intent(context, CaseDetailActivity.class); -// intent.putExtra("id", dataRows.get(position).getId()); -// startActivity(intent); + if (isRefresh) { + dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 + for (int i = 0; i < dataRows.size(); i++) { + dataBeans.add(0, dataRows.get(i)); } - }); + refreshLayout.finishRefresh(); + isRefresh = false; + } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } + dataBeans.addAll(dataRows); + refreshLayout.finishLoadMore(); + isLoadMore = false; + } else { + dataBeans = dataRows; + } + handler.sendEmptyMessage(202104251); } } + @SuppressLint("HandlerLeak") + private Handler handler = new Handler() { + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + if (msg.what == 202104251) { + if (isRefresh || isLoadMore) { + adapter.notifyDataSetChanged(); + } else { + //首次加载数据 + if (dataBeans.size() == 0) { + emptyView.show("您暂时没有待办案卷", null); + } else { + emptyView.hide(); + adapter = new CaseTodoResultAdapter(context, dataBeans); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity( intent); + } + }); + } + } + } + } + }; + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 114e8e3..147fe39 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -239,19 +239,19 @@ /** * 获取待办案卷 */ - public static Observable getCaseTodoResult(int limit, int offset) { + public static Observable getCaseTodoResult(int offset) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + return service.obtainCaseTodo(TokenHelper.getToken(), 15, offset); } /** * 获取已办案卷 */ - public static Observable getCaseHandledResult(int limit, int offset) { + public static Observable getCaseHandledResult(int offset) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + return service.obtainCaseHandled(TokenHelper.getToken(), 15, offset); } /** diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java index c5be3c2..0f1e3f5 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseHandledPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java index ee618ba..4d75342 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseTodoPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java index 899a8be..a2d7222 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseHandledBean; public interface ICaseHandledView { + void showProgress(); + + void hideProgress(); + void obtainHandledResult(CaseHandledBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java index 8e9dc68..46496c7 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseTodoBean; public interface ICaseTodoView { + void showProgress(); + + void hideProgress(); + void obtainTodoResult(CaseTodoBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java index f581970..e3b3a32 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.mvp.presenter.CaseListPresenterImpl; import com.casic.dcms.mvp.view.ICaseListView; +import com.casic.dcms.utils.ToastHelper; import com.qmuiteam.qmui.widget.QMUIEmptyView; import com.qmuiteam.qmui.widget.QMUITopBarLayout; import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; @@ -178,6 +179,9 @@ refreshLayout.finishRefresh(); isRefresh = false; } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } dataBeans.addAll(dataRows); refreshLayout.finishLoadMore(); isLoadMore = false; diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java index 85a2218..f378341 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -1,8 +1,11 @@ package com.casic.dcms.ui.fragment; +import android.annotation.SuppressLint; import android.content.Context; -import android.util.Log; +import android.os.Handler; +import android.os.Message; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -13,8 +16,15 @@ import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; import com.casic.dcms.mvp.view.ICaseHandledView; -import com.google.gson.Gson; +import com.casic.dcms.utils.ToastHelper; +import com.qmuiteam.qmui.widget.QMUIEmptyView; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; +import com.scwang.smartrefresh.layout.listener.OnRefreshListener; +import java.util.ArrayList; import java.util.List; import butterknife.BindView; @@ -23,11 +33,21 @@ private static final String TAG = "CaseHandledFragment"; private Context context; + @BindView(R.id.emptyView) + QMUIEmptyView emptyView; + @BindView(R.id.refreshLayout) + SmartRefreshLayout refreshLayout; @BindView(R.id.caseRecyclerView) RecyclerView caseRecyclerView; private CaseHandledPresenterImpl caseHandledPresenter; private int pageIndex = 0; private CaseHandledResultAdapter adapter; + private QMUITipDialog loadingDialog; + /** + * 临时存储网络请求到的数据 + */ + private List dataBeans = new ArrayList<>(); + private boolean isRefresh, isLoadMore = false; @Override protected int initLayoutView() { @@ -42,34 +62,102 @@ @Override protected void initData() { caseHandledPresenter = new CaseHandledPresenterImpl(this); - adapter = new CaseHandledResultAdapter(context); + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("案卷查询中,请稍后") + .create(); + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); } @Override protected void initEvent() { - caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + refreshLayout.setOnRefreshListener(new OnRefreshListener() { + @Override + public void onRefresh(@NonNull final RefreshLayout refreshLayout) { + isRefresh = true; + //刷新之后页码重置 + pageIndex = 0; + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + @Override + public void onLoadMore(@NonNull final RefreshLayout refreshLayout) { + isLoadMore = true; + pageIndex++; + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + } + + @Override + public void showProgress() { + loadingDialog.show(); + } + + @Override + public void hideProgress() { + loadingDialog.hide(); } @Override public void obtainHandledResult(CaseHandledBean resultBean) { - Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); +// Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List dataRows = resultBean.getData().getRows(); - adapter.setHandledData(dataRows); - caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); - caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); - caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { - @Override - public void onClick(int position) { -// Intent intent = new Intent(context, CaseDetailActivity.class); -// intent.putExtra("id", dataRows.get(position).getId()); -// startActivity(intent); + if (isRefresh) { + dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 + for (int i = 0; i < dataRows.size(); i++) { + dataBeans.add(0, dataRows.get(i)); } - }); + refreshLayout.finishRefresh(); + isRefresh = false; + } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } + dataBeans.addAll(dataRows); + refreshLayout.finishLoadMore(); + isLoadMore = false; + } else { + dataBeans = dataRows; + } + handler.sendEmptyMessage(202104252); } } + @SuppressLint("HandlerLeak") + private Handler handler = new Handler() { + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + if (msg.what == 202104252) { + if (isRefresh || isLoadMore) { + adapter.notifyDataSetChanged(); + } else { + //首次加载数据 + if (dataBeans.size() == 0) { + emptyView.show("您还没有已办案卷", null); + } else { + emptyView.hide(); + adapter = new CaseHandledResultAdapter(context, dataBeans); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity( intent); + } + }); + } + } + } + } + }; + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java index db0d4fc..c57106e 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -1,8 +1,11 @@ package com.casic.dcms.ui.fragment; +import android.annotation.SuppressLint; import android.content.Context; -import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -13,7 +16,15 @@ import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; import com.casic.dcms.mvp.view.ICaseTodoView; +import com.casic.dcms.utils.ToastHelper; +import com.qmuiteam.qmui.widget.QMUIEmptyView; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; +import com.scwang.smartrefresh.layout.listener.OnRefreshListener; +import java.util.ArrayList; import java.util.List; import butterknife.BindView; @@ -22,11 +33,21 @@ private static final String TAG = "CaseTodoFragment"; private Context context; + @BindView(R.id.emptyView) + QMUIEmptyView emptyView; + @BindView(R.id.refreshLayout) + SmartRefreshLayout refreshLayout; @BindView(R.id.caseRecyclerView) RecyclerView caseRecyclerView; private CaseTodoPresenterImpl caseTodoPresenter; private int pageIndex = 0; private CaseTodoResultAdapter adapter; + private QMUITipDialog loadingDialog; + /** + * 临时存储网络请求到的数据 + */ + private List dataBeans = new ArrayList<>(); + private boolean isRefresh, isLoadMore = false; @Override protected int initLayoutView() { @@ -41,34 +62,101 @@ @Override protected void initData() { caseTodoPresenter = new CaseTodoPresenterImpl(this); - adapter = new CaseTodoResultAdapter(context); + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("案卷查询中,请稍后") + .create(); + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); } @Override protected void initEvent() { - caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + refreshLayout.setOnRefreshListener(new OnRefreshListener() { + @Override + public void onRefresh(@NonNull final RefreshLayout refreshLayout) { + isRefresh = true; + //刷新之后页码重置 + pageIndex = 0; + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + @Override + public void onLoadMore(@NonNull final RefreshLayout refreshLayout) { + isLoadMore = true; + pageIndex++; + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + } + + @Override + public void showProgress() { + loadingDialog.show(); + } + + @Override + public void hideProgress() { + loadingDialog.hide(); } @Override public void obtainTodoResult(CaseTodoBean resultBean) { -// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List dataRows = resultBean.getData().getRows(); - adapter.setTodoData(dataRows); - caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); - caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); - caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { - @Override - public void onClick(int position) { -// Intent intent = new Intent(context, CaseDetailActivity.class); -// intent.putExtra("id", dataRows.get(position).getId()); -// startActivity(intent); + if (isRefresh) { + dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 + for (int i = 0; i < dataRows.size(); i++) { + dataBeans.add(0, dataRows.get(i)); } - }); + refreshLayout.finishRefresh(); + isRefresh = false; + } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } + dataBeans.addAll(dataRows); + refreshLayout.finishLoadMore(); + isLoadMore = false; + } else { + dataBeans = dataRows; + } + handler.sendEmptyMessage(202104251); } } + @SuppressLint("HandlerLeak") + private Handler handler = new Handler() { + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + if (msg.what == 202104251) { + if (isRefresh || isLoadMore) { + adapter.notifyDataSetChanged(); + } else { + //首次加载数据 + if (dataBeans.size() == 0) { + emptyView.show("您暂时没有待办案卷", null); + } else { + emptyView.hide(); + adapter = new CaseTodoResultAdapter(context, dataBeans); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity( intent); + } + }); + } + } + } + } + }; + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 114e8e3..147fe39 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -239,19 +239,19 @@ /** * 获取待办案卷 */ - public static Observable getCaseTodoResult(int limit, int offset) { + public static Observable getCaseTodoResult(int offset) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + return service.obtainCaseTodo(TokenHelper.getToken(), 15, offset); } /** * 获取已办案卷 */ - public static Observable getCaseHandledResult(int limit, int offset) { + public static Observable getCaseHandledResult(int offset) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + return service.obtainCaseHandled(TokenHelper.getToken(), 15, offset); } /** diff --git a/app/src/main/res/layout/fragment_case_handled.xml b/app/src/main/res/layout/fragment_case_handled.xml index f8c4278..84ebd81 100644 --- a/app/src/main/res/layout/fragment_case_handled.xml +++ b/app/src/main/res/layout/fragment_case_handled.xml @@ -5,9 +5,34 @@ android:background="@color/white" android:orientation="vertical"> - + android:layout_height="match_parent" /> + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java index d745bc7..9ee7a2c 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseHandledResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseHandledBean; -import java.util.ArrayList; import java.util.List; public class CaseHandledResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseHandledResultAdapter(Context context) { + public CaseHandledResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setHandledData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java index 39b8c55..de56775 100644 --- a/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -7,32 +7,23 @@ import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.casic.dcms.R; import com.casic.dcms.bean.CaseTodoBean; -import java.util.ArrayList; import java.util.List; public class CaseTodoResultAdapter extends RecyclerView.Adapter { - private List dataBeans = new ArrayList<>(); + private List dataBeans; private LayoutInflater layoutInflater; - public CaseTodoResultAdapter(Context context) { + public CaseTodoResultAdapter(Context context, List dataRows) { + this.dataBeans = dataRows; layoutInflater = LayoutInflater.from(context); } - public void setTodoData(@Nullable List dataRows) { - dataBeans.clear(); - if (dataRows != null) { - dataBeans.addAll(dataRows); - } - notifyDataSetChanged(); - } - @NonNull @Override public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java index 54b9b12..fdf20fa 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java index 6129d59..fc38782 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -24,8 +24,8 @@ } @Override - public Subscription sendRetrofitRequest(int limit, int offset) { - Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + public Subscription sendRetrofitRequest(int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(offset); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { @Override public void onCompleted() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java index 0e4e54b..7c5c005 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseHandledModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java index b2dad6e..224d97b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -3,5 +3,5 @@ import rx.Subscription; public interface ICaseTodoModel { - Subscription sendRetrofitRequest(int limit, int offset); + Subscription sendRetrofitRequest(int offset); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java index 7ce19ee..afab78b 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseHandledBean resultBean) { + view.hideProgress(); view.obtainHandledResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java index 54d3906..45f4225 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -16,8 +16,9 @@ } @Override - public void onReadyRetrofitRequest(int limit, int offset) { - addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + public void onReadyRetrofitRequest(int offset) { + view.showProgress(); + addSubscription(actionModel.sendRetrofitRequest(offset)); } @Override @@ -27,11 +28,12 @@ @Override public void onSuccess(CaseTodoBean resultBean) { + view.hideProgress(); view.obtainTodoResult(resultBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java index c5be3c2..0f1e3f5 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseHandledPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java index ee618ba..4d75342 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -1,7 +1,7 @@ package com.casic.dcms.mvp.presenter; public interface ICaseTodoPresenter { - void onReadyRetrofitRequest(int limit, int offset); + void onReadyRetrofitRequest(int offset); void disposeRetrofitRequest(); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java index 899a8be..a2d7222 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseHandledBean; public interface ICaseHandledView { + void showProgress(); + + void hideProgress(); + void obtainHandledResult(CaseHandledBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java index 8e9dc68..46496c7 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.CaseTodoBean; public interface ICaseTodoView { + void showProgress(); + + void hideProgress(); + void obtainTodoResult(CaseTodoBean resultBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java index f581970..e3b3a32 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseListResultActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.mvp.presenter.CaseListPresenterImpl; import com.casic.dcms.mvp.view.ICaseListView; +import com.casic.dcms.utils.ToastHelper; import com.qmuiteam.qmui.widget.QMUIEmptyView; import com.qmuiteam.qmui.widget.QMUITopBarLayout; import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; @@ -178,6 +179,9 @@ refreshLayout.finishRefresh(); isRefresh = false; } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } dataBeans.addAll(dataRows); refreshLayout.finishLoadMore(); isLoadMore = false; diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java index 85a2218..f378341 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -1,8 +1,11 @@ package com.casic.dcms.ui.fragment; +import android.annotation.SuppressLint; import android.content.Context; -import android.util.Log; +import android.os.Handler; +import android.os.Message; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -13,8 +16,15 @@ import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; import com.casic.dcms.mvp.view.ICaseHandledView; -import com.google.gson.Gson; +import com.casic.dcms.utils.ToastHelper; +import com.qmuiteam.qmui.widget.QMUIEmptyView; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; +import com.scwang.smartrefresh.layout.listener.OnRefreshListener; +import java.util.ArrayList; import java.util.List; import butterknife.BindView; @@ -23,11 +33,21 @@ private static final String TAG = "CaseHandledFragment"; private Context context; + @BindView(R.id.emptyView) + QMUIEmptyView emptyView; + @BindView(R.id.refreshLayout) + SmartRefreshLayout refreshLayout; @BindView(R.id.caseRecyclerView) RecyclerView caseRecyclerView; private CaseHandledPresenterImpl caseHandledPresenter; private int pageIndex = 0; private CaseHandledResultAdapter adapter; + private QMUITipDialog loadingDialog; + /** + * 临时存储网络请求到的数据 + */ + private List dataBeans = new ArrayList<>(); + private boolean isRefresh, isLoadMore = false; @Override protected int initLayoutView() { @@ -42,34 +62,102 @@ @Override protected void initData() { caseHandledPresenter = new CaseHandledPresenterImpl(this); - adapter = new CaseHandledResultAdapter(context); + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("案卷查询中,请稍后") + .create(); + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); } @Override protected void initEvent() { - caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + refreshLayout.setOnRefreshListener(new OnRefreshListener() { + @Override + public void onRefresh(@NonNull final RefreshLayout refreshLayout) { + isRefresh = true; + //刷新之后页码重置 + pageIndex = 0; + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + @Override + public void onLoadMore(@NonNull final RefreshLayout refreshLayout) { + isLoadMore = true; + pageIndex++; + caseHandledPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + } + + @Override + public void showProgress() { + loadingDialog.show(); + } + + @Override + public void hideProgress() { + loadingDialog.hide(); } @Override public void obtainHandledResult(CaseHandledBean resultBean) { - Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); +// Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List dataRows = resultBean.getData().getRows(); - adapter.setHandledData(dataRows); - caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); - caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); - caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { - @Override - public void onClick(int position) { -// Intent intent = new Intent(context, CaseDetailActivity.class); -// intent.putExtra("id", dataRows.get(position).getId()); -// startActivity(intent); + if (isRefresh) { + dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 + for (int i = 0; i < dataRows.size(); i++) { + dataBeans.add(0, dataRows.get(i)); } - }); + refreshLayout.finishRefresh(); + isRefresh = false; + } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } + dataBeans.addAll(dataRows); + refreshLayout.finishLoadMore(); + isLoadMore = false; + } else { + dataBeans = dataRows; + } + handler.sendEmptyMessage(202104252); } } + @SuppressLint("HandlerLeak") + private Handler handler = new Handler() { + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + if (msg.what == 202104252) { + if (isRefresh || isLoadMore) { + adapter.notifyDataSetChanged(); + } else { + //首次加载数据 + if (dataBeans.size() == 0) { + emptyView.show("您还没有已办案卷", null); + } else { + emptyView.hide(); + adapter = new CaseHandledResultAdapter(context, dataBeans); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity( intent); + } + }); + } + } + } + } + }; + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java index db0d4fc..c57106e 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -1,8 +1,11 @@ package com.casic.dcms.ui.fragment; +import android.annotation.SuppressLint; import android.content.Context; -import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -13,7 +16,15 @@ import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; import com.casic.dcms.mvp.view.ICaseTodoView; +import com.casic.dcms.utils.ToastHelper; +import com.qmuiteam.qmui.widget.QMUIEmptyView; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; +import com.scwang.smartrefresh.layout.listener.OnRefreshListener; +import java.util.ArrayList; import java.util.List; import butterknife.BindView; @@ -22,11 +33,21 @@ private static final String TAG = "CaseTodoFragment"; private Context context; + @BindView(R.id.emptyView) + QMUIEmptyView emptyView; + @BindView(R.id.refreshLayout) + SmartRefreshLayout refreshLayout; @BindView(R.id.caseRecyclerView) RecyclerView caseRecyclerView; private CaseTodoPresenterImpl caseTodoPresenter; private int pageIndex = 0; private CaseTodoResultAdapter adapter; + private QMUITipDialog loadingDialog; + /** + * 临时存储网络请求到的数据 + */ + private List dataBeans = new ArrayList<>(); + private boolean isRefresh, isLoadMore = false; @Override protected int initLayoutView() { @@ -41,34 +62,101 @@ @Override protected void initData() { caseTodoPresenter = new CaseTodoPresenterImpl(this); - adapter = new CaseTodoResultAdapter(context); + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("案卷查询中,请稍后") + .create(); + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); } @Override protected void initEvent() { - caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + refreshLayout.setOnRefreshListener(new OnRefreshListener() { + @Override + public void onRefresh(@NonNull final RefreshLayout refreshLayout) { + isRefresh = true; + //刷新之后页码重置 + pageIndex = 0; + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + @Override + public void onLoadMore(@NonNull final RefreshLayout refreshLayout) { + isLoadMore = true; + pageIndex++; + caseTodoPresenter.onReadyRetrofitRequest(pageIndex); + } + }); + } + + @Override + public void showProgress() { + loadingDialog.show(); + } + + @Override + public void hideProgress() { + loadingDialog.hide(); } @Override public void obtainTodoResult(CaseTodoBean resultBean) { -// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List dataRows = resultBean.getData().getRows(); - adapter.setTodoData(dataRows); - caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); - caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); - caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { - @Override - public void onClick(int position) { -// Intent intent = new Intent(context, CaseDetailActivity.class); -// intent.putExtra("id", dataRows.get(position).getId()); -// startActivity(intent); + if (isRefresh) { + dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 + for (int i = 0; i < dataRows.size(); i++) { + dataBeans.add(0, dataRows.get(i)); } - }); + refreshLayout.finishRefresh(); + isRefresh = false; + } else if (isLoadMore) { + if (dataRows.size() == 0) { + ToastHelper.showToast("到底了,别拉了", ToastHelper.INFO); + } + dataBeans.addAll(dataRows); + refreshLayout.finishLoadMore(); + isLoadMore = false; + } else { + dataBeans = dataRows; + } + handler.sendEmptyMessage(202104251); } } + @SuppressLint("HandlerLeak") + private Handler handler = new Handler() { + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + if (msg.what == 202104251) { + if (isRefresh || isLoadMore) { + adapter.notifyDataSetChanged(); + } else { + //首次加载数据 + if (dataBeans.size() == 0) { + emptyView.show("您暂时没有待办案卷", null); + } else { + emptyView.hide(); + adapter = new CaseTodoResultAdapter(context, dataBeans); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity( intent); + } + }); + } + } + } + } + }; + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 114e8e3..147fe39 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -239,19 +239,19 @@ /** * 获取待办案卷 */ - public static Observable getCaseTodoResult(int limit, int offset) { + public static Observable getCaseTodoResult(int offset) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + return service.obtainCaseTodo(TokenHelper.getToken(), 15, offset); } /** * 获取已办案卷 */ - public static Observable getCaseHandledResult(int limit, int offset) { + public static Observable getCaseHandledResult(int offset) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + return service.obtainCaseHandled(TokenHelper.getToken(), 15, offset); } /** diff --git a/app/src/main/res/layout/fragment_case_handled.xml b/app/src/main/res/layout/fragment_case_handled.xml index f8c4278..84ebd81 100644 --- a/app/src/main/res/layout/fragment_case_handled.xml +++ b/app/src/main/res/layout/fragment_case_handled.xml @@ -5,9 +5,34 @@ android:background="@color/white" android:orientation="vertical"> - + android:layout_height="match_parent" /> + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_case_todo.xml b/app/src/main/res/layout/fragment_case_todo.xml index f8c4278..84ebd81 100644 --- a/app/src/main/res/layout/fragment_case_todo.xml +++ b/app/src/main/res/layout/fragment_case_todo.xml @@ -5,9 +5,34 @@ android:background="@color/white" android:orientation="vertical"> - + android:layout_height="match_parent" /> + + + + + + + + + + + + \ No newline at end of file