阅读读书,练习进度显示异常
最后一句话使用了三目运算符
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
有时候编译成功,但是检测到系统有错误,就需要这样查看日志才能知道具体是哪里错误。