运行日志篇

omg.png

最近这两周都在忙于公司安排的任务。今天刚好结束了任务,再次对这期间遇到的问题简单的做一个汇总(MD的一个他们口中说简单的功能我写了5000+的代码量,确实简单T_T)。

问题汇总

1.ListView and RecyclerVIew复用的问题
2.Fresco图片加载闪烁
3.如何绘制一个伪表格样式
4.ScrollView制作长图
5.PDF导出以及加载
6.Fresco加载长图Crash

关于ListView复用的问题

https://blog.csdn.net/qq_33078541/article/details/50600660
http://www.trinea.cn/android/android-listview-display-error-image-when-scroll/
https://www.jianshu.com/p/bdf1b5d6be82
https://blog.csdn.net/nihaoqiulinhe/article/details/51012319(采用的文章)
这是我查询到的关于处理ListView或者RecyclerView复用比较好的文章。
这里我简单的描述一下。通过使用一个 Map集合来存储位置和你想要保存的数据。以EditText为例

viewHolder.etAreaOne.addTextChangedListener(new TextWatcher() {
                    @Override
                    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

                    }

                    @Override
                    public void onTextChanged(CharSequence s, int start, int before, int count) {

                    }

                    @Override
                    public void afterTextChanged(Editable s) {
                        //在此将数据保存起来
                    }
                });

在为该位置添加值的时候先判断Map中是否包含该位置。

Fresco图片闪烁的问题

Fresco的使用
https://blog.csdn.net/mockingbirds/article/details/50658846
本质上也是数据复用的问题,这里我将我处理Fresco的代码粘贴出来方便以后使用

   /**
     * 解决网络图片闪烁问题
     * @param uri
     * @return
     */
    private void returnBitmap(Uri uri, final int position) {
        ImageRequestBuilder requestBuilder = ImageRequestBuilder.newBuilderWithSource(uri);
        ImageRequest imageRequest = requestBuilder.build();
        DataSource> dataSource = ImagePipelineFactory.getInstance().getImagePipeline().fetchDecodedImage(imageRequest, null);
        dataSource.subscribe(new BaseBitmapDataSubscriber() {
            @Override
            protected void onNewResultImpl(Bitmap bitmap) {
                imgMap.put(position,bitmap);
            }

            @Override
            protected void onFailureImpl(DataSource> dataSource) {

            }
        }, UiThreadImmediateExecutorService.getInstance());
    }

如何绘制一个伪表格样式

Android如何绘制Excel表数据
(RecyclerView绘制表格)
https://blog.csdn.net/lixiang_Y/article/details/73179534
(项目季节底)
http://www.wanandroid.com/project/list/1?cid=314
(自定义表格控件 - TableView/TableLayout)
https://www.jianshu.com/p/251cd77fbb60
(Android 表格控件-动态实现表格效果(内容、样式可扩展))
https://blog.csdn.net/daijin888888/article/details/50159579
android 表格控件
https://blog.csdn.net/cugkuan/article/details/9837463

总有一款能解决你的问题。在这里我采用了(Android 表格控件-动态实现表格效果(内容、样式可扩展))。
通过addView的方式绘制一个伪表格的样式。这里没什么难度。但是绘制表格的时候一定要细心。别被自己给坑到了(O(∩_∩)O)

ScrollView制作长图

https://www.jianshu.com/p/f6f35c320f37(参考我这边文章就行了)

PDF导出以及加载

这个控件能很好的满足你的需求。如果生成的PDF是一个比较复杂的页面的话。我建议采用导入一个PDF模板的方式来处理。毕竟纯手绘一个PDF是一个痛苦跟无聊的过程。
https://github.com/JoanZapata/android-pdfview

Fresco加载长图Crash

http://www.10tiao.com/html/169/201608/2650820929/1.html

你可能感兴趣的:(运行日志篇)