场景
例如登录界面使用了两个自定义输入框,自定义输入框里有一个Edittext,当系统回收并重建Activity的时候(可以通过开发者模式打开不不保留后台活动进行模拟),可能会由于自定义View中的id相同,导致数据恢复异常,本来应该恢复到密码框的数据,显示在了用户名输入框。
解决方法
在自定义View中的Edittext获取到对象后,手动指定id即可,例如mEdt.setId(getParent().getId()^mEdt.getId()),即可保证两个自定义View里面的输入框Id不一致了。