package com.application.zhangshi_app_android.ui.function; import android.content.Intent; import android.view.View; import android.widget.PopupWindow; import androidx.recyclerview.widget.GridLayoutManager; import com.android.app_base.manager.AppManager; import com.android.app_base.utils.ScreenSizeUtils; import com.android.app_base.utils.Utils; import com.android.app_base.widget.GridSpaceItemDecoration; import com.application.zhangshi_app_android.BR; import com.application.zhangshi_app_android.R; import com.application.zhangshi_app_android.adapter.PetImageRvAdapter; import com.application.zhangshi_app_android.bean.FamilyAssetsBean; import com.application.zhangshi_app_android.bean.PetBean; import com.application.zhangshi_app_android.databinding.ActivityPetDetailBinding; import com.application.zhangshi_app_android.ui.DLBaseActivity; import com.application.zhangshi_app_android.ui.dialog.PetOwnerInfoDialog; import java.util.List; /** * @author Ljj * @date 2023.04.17. 18:21 * @desc */ public class PetDetailActivity extends DLBaseActivity { private PetImageRvAdapter adapter; private PopupWindow popupWindow; PetOwnerInfoDialog.Builder petOwnerInfoDialogBuilder; @Override public int getLayoutId() { return R.layout.activity_pet_detail; } @Override public int getVariableId() { return BR.viewModel; } @Override public void initParam() { if (getIntent().hasExtra("bean")){ viewModel.getBeanLiveData().setValue((PetBean) getIntent().getSerializableExtra("bean")); } } @Override public void initView() { adapter = new PetImageRvAdapter(this); GridSpaceItemDecoration decoration = new GridSpaceItemDecoration(3,ScreenSizeUtils.dip2px(this,10),ScreenSizeUtils.dip2px(this,20)); binding.recyclerView.addItemDecoration(decoration); binding.recyclerView.setLayoutManager(new GridLayoutManager(this,3)); binding.recyclerView.setAdapter(adapter); View view = View.inflate(this,R.layout.pop_operate_pet,null); popupWindow = initPopUpWindow(view); setOnClickListener( view.findViewById(R.id.tv_owner_info), view.findViewById(R.id.tv_pet_memo) ); binding.ivOperate.setOnClickListener(v -> { popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0); }); petOwnerInfoDialogBuilder = new PetOwnerInfoDialog.Builder(this); } @Override public void initData() { } @Override public void initLiveDataObserve() { viewModel.getBeanLiveData().observe(this, bean -> { if (bean != null){ List list = Utils.splitString2List(bean.getHeadPicture(),","); list.addAll(Utils.splitString2List(bean.getFullPicture(),",")); adapter.setData(list); petOwnerInfoDialogBuilder.setBean(bean); } }); } @Override public void onClick(View v) { super.onClick(v); int id = v.getId(); if (id == R.id.tv_owner_info){ popupWindow.dismiss(); petOwnerInfoDialogBuilder.show(); }else if (id == R.id.tv_pet_memo){ popupWindow.dismiss(); AppManager.getAppManager().startActivity(new Intent(this,PetMemoActivity.class).putExtra("bean",viewModel.getBeanLiveData().getValue())); } } }