已经好久没写博客的我,趁着下班时间记录一下自己最近遇到的问题,从一开始的自己手写适配器一直到到今天用了各路大神封装好的适配器,那赶脚别提有多爽了,哈哈哈,,,
这个还要从来到目前这家公司说起了,一个安卓哥哥推荐使用的,起初我就说没用过,他说贼好用,最后就抱着试一试的心态用上了他,也就是BaseQuickAdapter 用过之后就知道有多爽了
我主要看的这位大神写的此处附上文章链接:https://www.jianshu.com/p/40457c16e44a
至于这个适配器的用法,我简单介绍一下吧,
先在 build.gradle(Project:XXXX) 的 repositories 添加:
然后在 build.gradle(Module:app) 的 dependencies 添加:
也就是
dependencies {
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:VERSION_CODE'
}
VERSION_CODE:--替换:
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.17'
注明:由于我用的as是2.3.3所以就这样写,如果你的as达到了3.0你应该知道吖
然后呢创建一个class类
第一个画框的是数据源,第二个是适配器
下面我遇到的问题如下图:
每一次我输入第一个item中的EditText的值时往下拉,就会有别的没有item中EditText没有输入值时而显示值,这就是复位情况
当我遇到这种问题时就不知道如何是好了,试了好多种办法,问了好多小锅锅们,他们给的方法,都对我没有什么效果,我也百度了好多,有什么设置tag标签啊 根据点击位置啊 在这个适配器里面都没有效果的,最后我又想起一个老锅说的话了,于是就私聊他我不太懂他的意思,然后在他的指引下我解决出来了,假如我没有鼓起勇气去找他帮忙,估计我就不会使用这个适配器了,因为一个公司的安卓小锅锅给我说了解决办法就是换一个适配器,用listview代替recyclerview就能解决了,我是100一个不愿意啊,emmm...还好遇到了我的贵人,下面说下我是如何在弘锅的帮助下解决的吧,哈哈哈,这个弘锅,可不是鸿洋大锅啊,我一个人菜鸟怎么可能搭讪到洋神呢,哈哈哈,话不多说了,方法如下:
首先 后台数据中没有输入值得字段,现在bean里面加入:
生成getter和setter方法,
再适配器中先拿到2个值:
然后给Edittext设置监听事件 在输入框内容改变后的方法里面监听数字变化并且拿到输入的值来设置到EditText上面:
本以为这样就完事了,然而还不行,最后需要加上一句话,禁止recyclerview 中item复用
解决后的页面就是这样的
点击选好了后传值到上个页面
完美解决了,个别值没有处理,别介意啊,先这样吧,起初没想到解决办法就是样子的,我要下班回家了,菜鸟以后还会坚持写博客的,say you na la