package com.application.zhangshi_app_android.ui.function; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import androidx.recyclerview.widget.GridLayoutManager; import com.application.zhangshi_app_android.BR; import com.application.zhangshi_app_android.R; import com.application.zhangshi_app_android.adapter.ImageRvAdapter; import com.application.zhangshi_app_android.bean.PersonalNotepadBean; import com.application.zhangshi_app_android.databinding.ActivityPersonalNotepadDetailBinding; import com.application.zhangshi_app_android.ui.DLBaseActivity; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * @author Ljj * @date 2023.05.14. 20:37 * @desc */ public class PersonalNotepadDetailActivity extends DLBaseActivity { private ImageRvAdapter adapter; @Override public int getLayoutId() { return R.layout.activity_personal_notepad_detail; } @Override public int getVariableId() { return BR.viewModel; } @Override public void initParam() { if (getIntent().hasExtra("bean")){ viewModel.getBeanLiveData().setValue((PersonalNotepadBean) getIntent().getSerializableExtra("bean")); } } @Override public void initView() { adapter = new ImageRvAdapter(this); GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3); binding.rvImage.setLayoutManager(gridLayoutManager); binding.rvImage.setNestedScrollingEnabled(false); setIsEdited(false); } @Override public void initData() { } @Override public void initLiveDataObserve() { viewModel.getBeanLiveData().observe(this,bean -> { if (bean!=null){ String url = bean.getUrl(); if (url == null||url.isEmpty()){ return; } List list; if (url.contains(",")){ String[] split = url.split(","); list = new ArrayList<>(Arrays.asList(split)); }else { list = new ArrayList<>(); list.add(url); } adapter.setData(list); } }); } public void setIsEdited(boolean isEdited){ disableAllEditText(getContentView(),isEdited); adapter.setIsEdited(isEdited); } public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) { for (int i = 0; i < viewGroup.getChildCount(); i++) { View child = viewGroup.getChildAt(i); if (child instanceof ViewGroup) { disableAllEditText((ViewGroup) child,isEdited); } else if (child instanceof EditText) { child.setEnabled(isEdited); child.setFocusable(isEdited); child.setFocusableInTouchMode(isEdited); if (!isEdited){ child.clearFocus(); } } } } }