【发布时间】:2017-06-28 07:16:54
【问题描述】:
*一次又一次调用addOption函数,替换Map中的旧值
private void addOption() {
counter=counter+1;
List<AttributeValue> optionListInput = new ArrayList<>();
AttributeValue inputAtt;
LinearLayout addOptionLaout=new LinearLayout(this);
for (int ii=0;ii<addOptionListItem.size();ii++){
inputAtt=addOptionListItem.get(ii);
TextView labelText = new TextView(this);
if (inputAtt.getInputType().equals("text") || inputAtt.getInputType().equals("textarea")) {
EditText editText = new EditText(this);
int id_for = View.generateViewId();
editText.setTag(inputAtt.getAttributeCode());
editText.setId(id_for);
inputAtt.setViewId(id_for);
editText.setBackgroundResource(R.drawable.plain_box_white_round);
editText.setLayoutParams(params);
editText.setPadding(padding10, padding10, padding10, padding10);
editText.setInputType(InputType.TYPE_CLASS_TEXT);
editText.setGravity(Gravity.CENTER_VERTICAL);
addOptionLaout.addView(editText);
}
System.out.println("view Id: "+inputAtt.getViewId());
optionListInput.add(inputAtt);
}
String mapCounter=counter+"";
addOptionListMap.put(mapCounter,optionListInput);
}
Hashmap 旧值被新视图 Id 值替换。
【问题讨论】:
-
你想要什么!!!您能否编辑您的问题并使其更合理地让其他人理解
-
实际上将列表添加到地图是替换地图中的旧值
-
@SubodhAndroid 什么是 demoList
-
@SubodhAndroid 也许您使用相同的键来放置列表。
-
@Krish 我正在输入计数器作为键,每次调用肯定会递增,并不是说它只显示一条记录,而是显示具有相同值(最近值)的多条记录......