遇到一个坑,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