Linjiajia
2023-07-25 82e57df230ecb744af6c8865f80870ba03c86d89
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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<ActivityPetDetailBinding, PetDetailActivityViewModel> {
 
    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<String> 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()));
        }
    }
}