From a0dc6be52293a64ebfe38b8c2391dc7d2ffe63ae Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期一, 15 五月 2023 20:05:27 +0800 Subject: [PATCH] 提交代码 --- app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivity.java | 71 +++++++++++++++++++---------------- 1 files changed, 39 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivity.java index af8cd4c..e47ded6 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivity.java @@ -7,26 +7,29 @@ import androidx.databinding.library.baseAdapters.BR; import androidx.lifecycle.Observer; -import com.android.app_base.base.viewmodel.BaseViewModel; import com.android.app_base.utils.ScreenSizeUtils; import com.android.app_base.widget.LinearItemDecoration; import com.application.zhangshi_app_android.R; -import com.application.zhangshi_app_android.adapter.FamilyAssetsRvAdapter; -import com.application.zhangshi_app_android.adapter.FamilyContactsRvAdapter; -import com.application.zhangshi_app_android.bean.FamilyContactsBean; +import com.application.zhangshi_app_android.adapter.ContactsRvAdapter; +import com.application.zhangshi_app_android.bean.ContactsBean; +import com.application.zhangshi_app_android.bean.ContactsDetailBean; import com.application.zhangshi_app_android.databinding.ActivityContactsBinding; ; import com.application.zhangshi_app_android.ui.DLBaseActivity; +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; + /** * @author Gss * @date 2023.04.18. 20:33 - * @desc + * @desc 閫氳褰� */ -public class ContactsActivity<FamilyContactsActivityViewModel extends BaseViewModel> extends DLBaseActivity<ActivityContactsBinding,FamilyContactsActivityViewModel> { - private FamilyContactsRvAdapter adapter; +public class ContactsActivity extends DLBaseActivity<ActivityContactsBinding,ContactsActivityViewModel> { + private ContactsRvAdapter adapter; private PopupWindow mOperatePopupWindow; @Override public int getLayoutId() { @@ -45,7 +48,7 @@ @Override public void initView() { - adapter = new FamilyContactsRvAdapter(this); + adapter = new ContactsRvAdapter(this); LinearItemDecoration itemDecoration = new LinearItemDecoration(); itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12)); itemDecoration.setHorizontalSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20)); @@ -53,9 +56,7 @@ binding.recyclerView.addItemDecoration(itemDecoration); binding.recyclerView.setAdapter(adapter); - mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null)); - mOperatePopupWindow.getContentView().findViewById(R.id.layout_add).setVisibility(View.GONE); - mOperatePopupWindow.getContentView().findViewById(R.id.layout_select).setVisibility(View.GONE); + mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_contacts_import,null)); binding.ivOperate.setOnClickListener(v -> { mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0); @@ -64,33 +65,39 @@ @Override public void initData() { - viewModel.getFamilyContacts(); + viewModel.getContacts(); } @Override public void initLiveDataObserve() { - viewModel.getDataListLiveData().observe(this, familyContactsBeans -> { - adapter.setData(familyContactsBeans); + viewModel.getDataListLiveData().observe(this, contactsDetailBeans -> { + //鏍规嵁鍚嶅瓧鍒嗙粍 + Set<String> maNames = new HashSet<>(); + for (ContactsDetailBean bean : contactsDetailBeans) { + maNames.add(bean.getMyName()); + } + List<ContactsBean> list = new ArrayList<>(); + for (String name : maNames) { + ContactsBean bean = new ContactsBean(); + bean.setMyName(name); + List<ContactsDetailBean> detailBeans = new ArrayList<>(); + for (ContactsDetailBean detailBean : contactsDetailBeans) { + if (name.equals(detailBean.getMyName())) { + detailBeans.add(detailBean); + } + } + bean.setContactsDetailBeans(detailBeans); + list.add(bean); + } + adapter.setData(list); }); } - private PopupWindow initPopUpWindow(View view){ - PopupWindow popupWindow = new PopupWindow(this); - // 璁剧疆甯冨眬鏂囦欢 - popupWindow.setContentView(view); - // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂� - popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT); - popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); - // 璁剧疆pop閫忔槑鏁堟灉 - popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000)); - // 璁剧疆pop鍑哄叆鍔ㄧ敾 - popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_add); - // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true - popupWindow.setFocusable(true); - // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true - popupWindow.setTouchable(true); - // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶� - popupWindow.setOutsideTouchable(false); - return popupWindow; + @Override + public void onClick(View v) { + super.onClick(v); + if (v.getId() == R.id.layout_contacts_import){ + mOperatePopupWindow.dismiss(); + } } } -- Gitblit v1.9.1