• 阅读读书,练习进度显示异常


     最后一句话使用了三目运算符

    if (mDocView != null) {
    MxLog.e("insertPdfNumber", "insertPdfNumber" + mDocView.getCurrentPageNumber());
    OutlineItem outlineItem = getOutlineItem(mDocView.getCurrentPageNumber());
    MxLog.e("outlineItem", "outlineItem:" + outlineItem);
    //如果当前pdf没有目录则不会设置pdfCatalogAdapter,所以也不用执行这部操作
    if (WafaUtils.isNotEmpty(outlineItem)) {
    if (!notCatalog) {
    pdfCatalogAdapter.setSelect(outlineItem);
    }
    MxLog.e("insertPdfNumber", "pdfPosition:" + pdfPosition);
    MxLog.e("insertPdfNumber", "CurrentPageNumber:" + mDocView.getCurrentPageNumber());
    presenter.insertPdfNumber(courseEntity.getCourseId(), pdfPosition, outlineItem, core.countPages(), notCatalog,
       pdfPosition+1==core.countPages()? true:false);


    }
    }

    意思就是当这个图书阅读完成之后,图书外面的进度条需要显示为全部,即使你已经把这个图书给重置为第一页,

    只要这个图书已经看过一遍,图书外面的练习进度就需要显示为全部。

    这道题目的思路就是

    定义了一个字段  status,当看到最后一页了就更新数据库这个字段状态为true

    下次显示的时候如果这个字段为true就直接显示进度为百分之百   否则就计算进度

     现在还有一个需求就是这个图书本来已经阅读到了30页,但是呢这个时候你又把这个图书给翻到了20页,这个时候呢,进度条就应该显示30页的进度条,而不是20页的进度条,就是这个进度条应该只增不减。

    往数据库插入页数的时候判断  如果这次的页数比上次大就插入  否则就不插入

    进度条的最大值是100/PDF总共的数量*你滑动图书的页数。

    在CourseListLoadMoreWrapperAdapter类里面中的getProgress方法

    在CourseListLoadMoreWrapperAdapter类里面中的Constants.KEY_BOOKS_TYPE方法

    连续点击两下shift键,然后输入PDFCourseFragment,就可以找到PDFCourseFragment这个类

    在PDFCourseFragment.java这个类里面找到insertPdfNumber这个方法

     BooksNumberEntity这个类

    然后在BooksNumberutils.java加上

    if(!booksNumberEntity.getStatus()){

      booksNumberEntity.setStatus(status);

    }

    然后在BooksNumberutils.java中的insertBooksNumber()方法里面加上

    if(!booksNumberEntity.getStatus()){

      booksNumberEntity.setStatus(status);

    }

    在CourseListLoadMoreWrapperAdapter类里面中的booksNumberutils.queryBoooksNumber()的方法的下面

    if(booksNumberEntity.getStatus()){

      progress=100;

    }else{

      if(WafaUtils.isNotEmpty(booksNumberEntity)&&booksNumberEntity.getPageCount!=0){

        double s=WafaUtils.div((booksNumberEntity.getNumber()+1),booksNumberEntity.getPageCount),

        progress=(int) s;

           }

    }

     选择应用程序的包名,Verbose   Show only selected application

    有时候编译成功,但是检测到系统有错误,就需要这样查看日志才能知道具体是哪里错误。

  • 相关阅读:
    算法与数据结构(十五) 归并排序(Swift 3.0版)
    算法与数据结构(十四) 堆排序 (Swift 3.0版)
    算法与数据结构(十三) 冒泡排序、插入排序、希尔排序、选择排序(Swift3.0版)
    算法与数据结构(十二) 散列(哈希)表的创建与查找(Swift版)
    算法与数据结构(十一) 平衡二叉树(AVL树)(Swift版)
    算法与数据结构(十) 二叉排序树的查找、插入与删除(Swift版)
    算法与数据结构(九) 查找表的顺序查找、折半查找、插值查找以及Fibonacci查找(Swift版)
    算法与数据结构(八) AOV网的关键路径(Swift版)
    算法与数据结构(七) AOV网的拓扑排序(Swift版)
    算法与数据结构(六) 迪杰斯特拉算法的最短路径(Swift版)
  • 原文地址:https://www.cnblogs.com/sanshengshitouhua/p/14631977.html
Copyright © 2020-2023  润新知