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.LittleDoctorBean;
|
import com.application.zhangshi_app_android.databinding.ActivityLittleDoctorDetailBinding;
|
import com.application.zhangshi_app_android.ui.DLBaseActivity;
|
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
public class LittleDoctorDetailActivity extends DLBaseActivity<ActivityLittleDoctorDetailBinding, LittleDoctorDetailActivityViewModel> {
|
|
private ImageRvAdapter adapter;
|
|
@Override
|
public int getLayoutId() {
|
return R.layout.activity_little_doctor_detail;
|
}
|
|
@Override
|
public int getVariableId() {
|
return BR.viewModel;
|
}
|
|
@Override
|
public void initParam() {
|
if (getIntent().hasExtra("bean")){
|
viewModel.getBeanLiveData().setValue((LittleDoctorBean) 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<String> 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();
|
}
|
}
|
}
|
}
|
}
|