# RememberEditText 一个自定义EditText View,可以记住该view的最近几次输入,使开发者不用到处去单独做cache逻辑。 ![点击下拉图片后](art/screenshot.jpg "点击下拉图片后") ## 介绍 你有没有为了需要每次输入相同的内容而感到恼火?这个账号/密码上次不是输过了么,怎么又让我输?我就是想回个帖罢了,怎么每次还得重复输入“感谢分享”、“顶”? RememberEditText做的就是自动记住最近的几次输入,并提供UI给用户直接选择。 ## 原理 RememberEditText扩展了EditText,在UI上添加了删除/下拉框,提供删除缓存和选择缓存值的功能。在数据保存上,其内部实现了一个通过SharedPreference存放的PersistedMap,由于实际提供服务的数据来源是内存中的map,所以可以做到快速同步返回,不用依赖于SharedPreference实际操作,加快了查询和更新的速度。 RememberEditText不是一个ViewGroup,而是一个继承了EditText,并自己做绘制和点击处理的view。这也是为了减少view的层级从而避免性能损耗。 ## 使用 ```gradle dependencies { compile 'cn.zhaiyifan:rememberedittext:0.9.0' } ``` ```xml ``` 可指定样式: ```xml ``` ## TODO - 增加更多的提示模式。 - 尚且不支持Gravity设置为Center,图标神奇地不见了,需要深入研究TextView(如果你能帮助就太好了)。 - 增加输入对模式,如用户名/密码(低优先级)。 - 增加加密模式来保存敏感信息(低优先级)。 ## 截图 ![点击下拉按钮后显示悬浮cache列表](art/Screenshot_2015-09-09-11-04-19.jpg) ![启动activity后自动填入最新cache](art/Screenshot_2015-09-09-11-08-10.jpg) ![更大的EditText demo](art/Screenshot_2015-09-09-11-04-25.jpg)