|
@@ -33,12 +33,14 @@ import com.sybotan.android.demo.tools.CommonUtils;
|
|
|
import com.sybotan.android.demo.view.CommonNumberControl;
|
|
|
import com.sybotan.android.demo.view.ListItemView;
|
|
|
import com.sybotan.android.demo.view.SelectListPopupWindow;
|
|
|
+import com.sybotan.android.demo.view.SelectListSinglePopupWindow;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Calendar;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
|
* Created by lihao.
|
|
@@ -122,18 +124,51 @@ public class StaticInfoAdapter extends BaseRecyclerViewAdapter<Infos> {
|
|
|
initEditTextTouch(mtextContent, info);
|
|
|
break;
|
|
|
case "radio":
|
|
|
+ ListItemView radioItemView = holder.getView(R.id.view_enum);
|
|
|
+ radioItemView.setTvLeft(info.getLabel() + unit);
|
|
|
+ radioItemView.setTvRight("请选择");
|
|
|
+ if (!valueList.contains(info.getCode())) {
|
|
|
+ if (hashMap != null && hashMap.get(info.getCode()) != null) {
|
|
|
+ String value = Objects.requireNonNull(hashMap.get(info.getCode())).toString();
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ for (int j = 0; j < info.getOptions().size(); j++) {
|
|
|
+ if (info.getOptions().get(j).getCode().equals(value)) {
|
|
|
+ sb.append(info.getOptions().get(j).getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ radioItemView.setTvRight(sb.toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ valueList.add(info.getCode());
|
|
|
+
|
|
|
+ radioItemView.getView(R.id.tv_right).setOnClickListener(v -> {
|
|
|
+ SelectListSinglePopupWindow popupWindow = new SelectListSinglePopupWindow(mContext);
|
|
|
+ popupWindow.setGenList(info.getOptions(), Constant.TYPE1);
|
|
|
+ popupWindow.setOnItemClickListener(new SelectListSinglePopupWindow.OnRecyclerViewItemClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onItemClick(int position) {
|
|
|
+ hashMap.put(info.getCode(), info.getOptions().get(position).getCode());
|
|
|
+ radioItemView.setTvRight(info.getOptions().get(position).getName());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ popupWindow.showAtLocation(radioItemView, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0);
|
|
|
+ });
|
|
|
+ break;
|
|
|
case "picker":
|
|
|
ListItemView enumItemView = holder.getView(R.id.view_enum);
|
|
|
enumItemView.setTvLeft(info.getLabel() + unit);
|
|
|
enumItemView.setTvRight("请选择");
|
|
|
-
|
|
|
if (!valueList.contains(info.getCode())) {
|
|
|
if (hashMap != null && hashMap.get(info.getCode()) != null) {
|
|
|
- ArrayList<Options> value = new Gson().fromJson((String) hashMap.get(info.getCode()), new TypeToken<List<Options>>() {
|
|
|
+ ArrayList<String> value = new Gson().fromJson((String) hashMap.get(info.getCode()), new TypeToken<List<Options>>() {
|
|
|
}.getType());
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
for (int i = 0; i < value.size(); i++) {
|
|
|
- sb.append(value.get(i).getName()).append("、");
|
|
|
+ for (int j = 0; j < info.getOptions().size(); j++) {
|
|
|
+ if (info.getOptions().get(j).getCode().equals(value.get(i))) {
|
|
|
+ sb.append(info.getOptions().get(j).getName()).append("、");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
enumItemView.setTvRight(sb.toString());
|
|
|
}
|
|
@@ -147,12 +182,14 @@ public class StaticInfoAdapter extends BaseRecyclerViewAdapter<Infos> {
|
|
|
@Override
|
|
|
public void onCommit(ArrayList<Integer> list) {
|
|
|
ArrayList<Options> arrayList = new ArrayList<>();
|
|
|
+ ArrayList<String> codeList = new ArrayList<>();
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
sb.append(info.getOptions().get(list.get(i)).getName()).append("、");
|
|
|
arrayList.add(info.getOptions().get(list.get(i)));
|
|
|
+ codeList.add(info.getOptions().get(list.get(i)).getCode());
|
|
|
}
|
|
|
- hashMap.put(info.getCode(), new Gson().toJson(arrayList));
|
|
|
+ hashMap.put(info.getCode(), new Gson().toJsonTree(codeList));
|
|
|
enumItemView.setTvRight(sb.toString());
|
|
|
}
|
|
|
});
|