Guo_shaoshan
2023-04-24 f21e1ae4b858b6a329b717eaf420d4a1e79d9509
app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java
@@ -5,19 +5,25 @@
import android.view.ViewGroup;
import android.widget.PopupWindow;
import androidx.databinding.DataBindingUtil;
import com.android.app_base.utils.ScreenSizeUtils;
import androidx.lifecycle.Observer;
import androidx.viewpager.widget.ViewPager;
import com.android.app_base.widget.LinearItemDecoration;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.adapter.FamilyAssetsRvAdapter;
import com.application.zhangshi_app_android.adapter.GrowthExperienceAbroadConditionRvAdapter;
import com.application.zhangshi_app_android.adapter.GrowthExperienceHolderConditionRvAdapter;
import com.application.zhangshi_app_android.adapter.GrowthExperiencePrimaryRvAdapter;
import com.application.zhangshi_app_android.adapter.GrowthExperienceRelationshipRvAdapter;
import com.application.zhangshi_app_android.bean.GrowthExperienceAbroadConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceAutobiographyBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceHolderConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceRelationshipBean;
import com.application.zhangshi_app_android.databinding.ActivityGrowthExperienceBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
import java.util.ArrayList;
import com.google.android.material.tabs.TabLayout;
import java.util.List;
/**
@@ -26,8 +32,10 @@
 * @desc 成长经历 GrowthExperienceActivity
 */
public class GrowthExperienceActivity extends DLBaseActivity<ActivityGrowthExperienceBinding,GrowthExperienceActivityViewModel> {
    private GrowthExperiencePrimaryRvAdapter adapter;
    private GrowthExperiencePrimaryRvAdapter primaryRvAdapter;
    private GrowthExperienceRelationshipRvAdapter relationshipRvAdapter;
    private GrowthExperienceHolderConditionRvAdapter holderConditionRvAdapter;
    private GrowthExperienceAbroadConditionRvAdapter abroadConditionRvAdapter;
    @Override
    public int getLayoutId() {
@@ -41,49 +49,113 @@
    @Override
    public void initParam() {
        GrowthExperienceBean bean = new GrowthExperienceBean("name", "date", "content");
        List<GrowthExperienceBean> dataList=new ArrayList<>();
        dataList.add(new GrowthExperienceBean("2010-2016","**小学","张三"));
        dataList.add(new GrowthExperienceBean("2017-2020","**中学","李四"));
        adapter=new GrowthExperiencePrimaryRvAdapter(this,dataList);
    }
    // 设置选中效果
    @Override
    public void initView() {
        adapter = new GrowthExperiencePrimaryRvAdapter(this);
        primaryRvAdapter = new GrowthExperiencePrimaryRvAdapter(this);
        relationshipRvAdapter = new GrowthExperienceRelationshipRvAdapter(this);
        holderConditionRvAdapter = new GrowthExperienceHolderConditionRvAdapter(this );
        abroadConditionRvAdapter = new GrowthExperienceAbroadConditionRvAdapter(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));
        itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
        itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_16));
        binding.rvPrimary.addItemDecoration(itemDecoration);
        binding.rvPrimary.setAdapter(adapter);
        binding.rvPrimary.setAdapter(primaryRvAdapter);
        binding.rvRelationship.addItemDecoration(itemDecoration);
        binding.rvRelationship.setAdapter(adapter);
        binding.rvRelationship.setAdapter(relationshipRvAdapter);
        binding.rvCertificates.addItemDecoration(itemDecoration);
        binding.rvCertificates.setAdapter(adapter);
        binding.rvCertificates.setAdapter(holderConditionRvAdapter);
        binding.rvAbroad.addItemDecoration(itemDecoration);
        binding.rvAbroad.setAdapter(adapter);
        binding.rvAbroad.setAdapter(abroadConditionRvAdapter);
        //这里的tab数量就是后台返回的数据量,tab的标题也是后台返回的,但是{"id":1,"userId":110,"type":1,"content":"婴儿时期我很快乐"}后台的返回数据没有这个时间段,你就得问一下,看不懂吗??
        binding.tabLayout.addTab(binding.tabLayout.newTab().setText("0-3岁(婴儿期)"));
        binding.tabLayout.addTab(binding.tabLayout.newTab().setText("3-6岁(幼儿期)"));
        binding.tabLayout.addTab(binding.tabLayout.newTab().setText("6-9岁(青年期) "));
        //就不知道脑子在想什么
        binding.tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                // 当用户选中一个 Tab 时回调
                // 这里可以根据 Tab 的位置来切换相应的页面
                switch (tab.getPosition()) {
                    case 0:
                        // 切换到 0-3 岁页面
                        break;
                    case 1:
                        // 切换到 3-6 岁页面
                        break;
                    case 2:
                        // 切换到 6-9 岁页面
                        break;
                    default:
                        break;
                }
            }
            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
                // 当用户取消选中一个 Tab 时回调
            }
            @Override
            public void onTabReselected(TabLayout.Tab tab) {
                // 当用户再次选中一个已经选中的 Tab 时回调
            }
        });
        // 创建 ViewPager 并设置 Adapter
        ViewPager viewPager = binding.viewPager;
        // 将 TabLayout 与 ViewPager 关联起来
        binding.tabLayout.setupWithViewPager(viewPager);
    }
    @Override
    public void initData() {
        viewModel.getGrowthExperience();
     viewModel.getInfo();
      viewModel.getGrowthExperience();
       viewModel.getRelation();
       viewModel.getHolder();
       viewModel.getAbroad();
        viewModel.getGrowthExperienceAutobiography();
    }
    @Override
    public void initLiveDataObserve() {
        ActivityGrowthExperienceBinding binding1= DataBindingUtil.setContentView(this,R.layout.activity_growth_experience);
        ActivityGrowthExperienceBinding binding2= DataBindingUtil.setContentView(this,R.layout.activity_growth_experience);
        ActivityGrowthExperienceBinding binding3= DataBindingUtil.setContentView(this,R.layout.activity_growth_experience);
        ActivityGrowthExperienceBinding binding4= DataBindingUtil.setContentView(this,R.layout.activity_growth_experience);
        viewModel.getDataListLiveData().observe(this, GrowthExperienceBeans -> {
            adapter.setData(GrowthExperienceBeans);
        viewModel.getPrimaryLiveData().observe(this, new Observer<List<GrowthExperienceBean>>() {
            @Override
            public void onChanged(List<GrowthExperienceBean> growthExperienceBeans) {
                primaryRvAdapter.setData(growthExperienceBeans);
            }
        });
        viewModel.getRelationLiveData().observe(this, new Observer<List<GrowthExperienceRelationshipBean>>() {
            @Override
            public void onChanged(List<GrowthExperienceRelationshipBean> growthExperienceRelationshipBeans) {
                relationshipRvAdapter.setData(growthExperienceRelationshipBeans);
            }
        });
        viewModel.getHolderLiveData().observe(this, new Observer<List<GrowthExperienceHolderConditionBean>>() {
            @Override
            public void onChanged(List<GrowthExperienceHolderConditionBean> growthExperienceHolderConditionBeans) {
                holderConditionRvAdapter.setData(growthExperienceHolderConditionBeans);
            }
        });
        viewModel.getAbroadLiveData().observe(this, new Observer<List<GrowthExperienceAbroadConditionBean>>() {
            @Override
            public void onChanged(List<GrowthExperienceAbroadConditionBean> growthExperienceAbroadConditionBeans) {
                abroadConditionRvAdapter.setData(growthExperienceAbroadConditionBeans);
            }
        });
    }
    private PopupWindow initPopUpWindow(View view){