From 1b4835badb3ca32402b6544c668a700c5334d90f Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 26 三月 2024 16:48:31 +0800 Subject: [PATCH] 添加中安身份证识别模块 把IP设置移动到参数设置界面 --- app/src/main/java/com/dayu/recharge/activity/NewCardListActivity.java | 110 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 91 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/activity/NewCardListActivity.java b/app/src/main/java/com/dayu/recharge/activity/NewCardListActivity.java index e959fbb..4bab5ec 100644 --- a/app/src/main/java/com/dayu/recharge/activity/NewCardListActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/NewCardListActivity.java @@ -3,8 +3,13 @@ import static com.dayu.recharge.view.TitleBar.ClickType_RIGHT_TEXT; import android.os.Bundle; +import android.os.Handler; +import android.os.Message; import android.view.LayoutInflater; import android.view.View; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; import com.dayu.recharge.adapter.NewCardAdapter; import com.dayu.recharge.databinding.ActivityNewcardListBinding; @@ -12,8 +17,19 @@ import com.dayu.recharge.utils.TipUtil; import com.dayu.recharge.view.datepicker.CustomDatePicker; import com.dayu.recharge.view.datepicker.DateFormatUtils; +import com.scwang.smart.refresh.footer.ClassicsFooter; +import com.scwang.smart.refresh.header.ClassicsHeader; +import com.scwang.smart.refresh.layout.api.RefreshLayout; +import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener; +import com.scwang.smart.refresh.layout.listener.OnRefreshListener; +import java.util.ArrayList; import java.util.List; + +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.schedulers.Schedulers; /** * Copyright (C), 2023, @@ -26,12 +42,18 @@ ActivityNewcardListBinding newcardListBinding; - List<UserCardBean> userCardBeanList; + List<UserCardBean> userCardBeanList = new ArrayList<>(); NewCardAdapter adapter; private CustomDatePicker beginDatePicker; private CustomDatePicker endDatePicker; long beginTime; long endTime; + + int page = 0; + + //姣忛〉鏁版嵁鏉℃暟 + int limit = 30; + RefreshLayout myRefreshLayout; @Override protected void onCreate(Bundle savedInstanceState) { @@ -39,20 +61,67 @@ newcardListBinding = ActivityNewcardListBinding.inflate(LayoutInflater.from(this)); setContentView(newcardListBinding.getRoot()); setRightButton(); - setData(); initDatePicker(); + initList(); + getList(); } - private void setData() { - try { - userCardBeanList = baseDao.userCardDao().findAll(); - } catch (Exception e) { - e.printStackTrace(); - } + private void initList() { + myRefreshLayout = (RefreshLayout) newcardListBinding.refreshLayout; + myRefreshLayout.setEnableRefresh(false); + myRefreshLayout.setRefreshFooter(new ClassicsFooter(this)); + myRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + @Override + public void onLoadMore(RefreshLayout refreshlayout) { + page = page + 1; + getList(); + } + }); adapter = new NewCardAdapter(this, userCardBeanList); - newcardListBinding.newCardListView.setAdapter(adapter); - + LinearLayoutManager layoutManager = new LinearLayoutManager(this); + newcardListBinding.recyclerView.setLayoutManager(layoutManager); + newcardListBinding.recyclerView.setAdapter(adapter); + int totale = baseDao.userCardDao().getUserTotale(); + newcardListBinding.userTotal.setText("寮�鎴锋暟锛�" + totale + ""); } + + + private void getList() { + // 鍒涘缓涓�涓� Observable + Observable<List<UserCardBean>> observable = Observable.create(emitter -> { + // 鍦ㄨ繖閲屾墽琛屽紓姝ユ搷浣� + List<UserCardBean> beanList; + if (beginTime == 0 && endTime == 0) { + beanList = asynchBaseDao.userCardDao().findAll(page * limit, limit); + } else { + beanList = asynchBaseDao.userCardDao().findByTime(beginTime, endTime); + } + // 灏嗙粨鏋滃彂閫佺粰瑙傚療鑰� + emitter.onNext(beanList); + emitter.onComplete(); + }); + // 璁㈤槄瑙傚療鑰� + observable.subscribeOn(Schedulers.io()) // 鎸囧畾鍦� IO 绾跨▼鎵ц + .observeOn(AndroidSchedulers.mainThread()) // 鎸囧畾鍦ㄥ崟涓�绾跨▼瑙傚療缁撴灉 + .subscribe( + result -> { + // 鍦ㄨ繖閲屽鐞嗙粨鏋滐紝杩欓噷鏄湪涓荤嚎绋嬩腑 +// System.out.println("Result: " + result); + if (result.size() < limit) { + myRefreshLayout.finishLoadMoreWithNoMoreData(); + } + if (result != null && result.size() > 0) { + userCardBeanList.addAll(result); + } + adapter.notifyDataSetChanged(); + }, + error -> { + // 澶勭悊閿欒 + System.err.println("Error: " + error.getMessage()); + } + ); + } + private void setRightButton() { titleBar.setOnItemclickListner(ClickType_RIGHT_TEXT, new View.OnClickListener() { @@ -91,15 +160,18 @@ if ((endTime < beginTime) && endTime != beginTime) { TipUtil.show(NewCardListActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�"); } else { - try { - endTime = endTime + (1000 * 60 * 60 * 24) - 1; - List<UserCardBean> userList = baseDao.userCardDao().findByTime(beginTime, endTime); - userCardBeanList.clear(); - userCardBeanList.addAll(userList); - adapter.notifyDataSetChanged(); - } catch (Exception e) { - e.printStackTrace(); - } +// try { +// endTime = endTime + (1000 * 60 * 60 * 24) - 1; +// List<UserCardBean> userList = baseDao.userCardDao().findByTime(beginTime, endTime); +// userCardBeanList.clear(); +// userCardBeanList.addAll(userList); +// adapter.notifyDataSetChanged(); +// } catch (Exception e) { +// e.printStackTrace(); +// } + endTime = endTime + (1000 * 60 * 60 * 24) - 1; + userCardBeanList.clear(); + getList(); } } }, beginTimestamp, endTimestamp); -- Gitblit v1.8.0