package com.dayu.qiheonlinelibrary.activity; import static com.dayu.baselibrary.view.TitleBar.ClickType_RIGHT_TEXT; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import androidx.recyclerview.widget.LinearLayoutManager; import com.dayu.qiheonlinelibrary.adapter.UserSearchAdapter; import com.dayu.qiheonlinelibrary.bean.UserListResult; import com.dayu.qiheonlinelibrary.databinding.ActivityUserSearchQhlBinding; import com.dayu.qiheonlinelibrary.net.ApiManager; import com.dayu.qiheonlinelibrary.net.BaseResponse; import com.dayu.qiheonlinelibrary.net.subscribers.SubscriberListener; import com.dayu.qiheonlinelibrary.view.UserSearchDialog; import com.scwang.smart.refresh.footer.ClassicsFooter; import com.scwang.smart.refresh.layout.api.RefreshLayout; import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * author: zuo * Date: 2024-08-07 * Time: 18:13 * 备注:用户搜索 */ public class UserSearchActivity extends BaseActivity { ActivityUserSearchQhlBinding binding; UserSearchDialog userSearchDialog; RefreshLayout myRefreshLayout; UserSearchAdapter adapter; int page = 1; int size = 10; String name; String cardID; List records = new ArrayList<>(); int type;//当前操作类型 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityUserSearchQhlBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); type = this.getIntent().getIntExtra("type", 0); initView(); showDialog(); } private void initView() { myRefreshLayout = (RefreshLayout) binding.refreshLayout; myRefreshLayout.setEnableRefresh(false); myRefreshLayout.setRefreshFooter(new ClassicsFooter(this)); myRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { @Override public void onLoadMore(RefreshLayout refreshlayout) { page = page + 1; selectUser(cardID, name, false); } }); adapter = new UserSearchAdapter(this, records, new UserSearchAdapter.OnItemClickListener() { @Override public void onItemClick(int position) { Intent intent = new Intent(UserSearchActivity.this, CardSearchActivity.class); intent.putExtra("pearsontId", records.get(position).getPeasantId()); intent.putExtra("type", type); UserSearchActivity.this.startActivity(intent); UserSearchActivity.this.finish(); } }); LinearLayoutManager layoutManager = new LinearLayoutManager(this); binding.recyclerView.setLayoutManager(layoutManager); binding.recyclerView.setAdapter(adapter); titleBar.setOnItemclickListner(ClickType_RIGHT_TEXT, new View.OnClickListener() { @Override public void onClick(View v) { showDialog(); } }); } private void showDialog() { userSearchDialog = new UserSearchDialog(this, (name, cardId) -> { UserSearchActivity.this.name = name; UserSearchActivity.this.cardID = cardId; selectUser(cardId, name, true); }); userSearchDialog.show(); } /** * 查询用户 * * @param peasantIdNumber */ private void selectUser(String peasantIdNumber, String name, boolean isRefresh) { if (isRefresh) { page = 1; records.clear(); } Map data = new HashMap<>(); data.put("peasantIdNumber", peasantIdNumber); data.put("peasantName", name); data.put("current", page); data.put("pageSize", size); ApiManager.getInstance().requestPostLoading(this, "api/sjgg/base/peasant/pagePeasantVo", UserListResult.class, data, new SubscriberListener>() { @Override public void onNext(BaseResponse t) { if (t.isSuccess()) { if (t.getData().getTotal() == records.size()) { myRefreshLayout.finishLoadMoreWithNoMoreData(); } else { records.addAll(t.getData().getRecords()); } adapter.notifyDataSetChanged(); myRefreshLayout.finishLoadMore(); } } }); } }