Fragment EditText back 自动覆盖所有

来源:互联网 发布:白金数据 编辑:程序博客网 时间:2024/05/18 03:12

遇到一个坑,Fragment A有多个Edittext,并且Edittext的父布局是include进来的,导致所有edittext的id都一样。

当使用Fragmeng 进行页面跳转并设置 addToBackStack后,发现上个A页面的edittext全被最后一个editext的输入值覆盖了,

查找原因发现是因为设置 addToBackStack后fragment会自动保存所有设置了ID的edittext,如上面所说的,我的edittext全是include,导致ID相同,出现了覆盖。

解决方案:

对 edittext  findViewByID后动态的再次进行ID设置,由于include的父view ID肯定不同,所以我是这么写的:

mEditText.setId(rootView.getId() + mEditText.getId());

rootView即当前edittext的父view

0 0
原创粉丝点击