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

 

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

 

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

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

 

 

 

 

posted @ 2021-04-08 14:16  三生石头花  阅读(59)  评论(0编辑  收藏  举报