解决getContext()方法找不到的问题

今天在写项目的时候遇到了一个问题,我的项目在其他机子上跑都OK,结果在魅族MX4上报出异常java.lang.NoSuchMethodError:No virtual method getContext(),百思不得其解

后来觉得还是有必要去了解一下getContext()这个方法,于是去查了资料:

getContext():获取到当前对象的上下文,这个方法是在API23以后才出现的。后来想想,会不会是版本问题,于是去查了下手机的机型,好吧,5.1(API22)的系统,那么getContext()方法不能用,这该这么办。。。换个思路,只要能换个方法获取上下文对象不就行了,于是我又去额外了解了其他几个方法:

getActivity():获得Fragment依附的Activity对象

getApplication():获得Application的对象

getApplicationContext()返回的是你的整个Application的context,生命周期是整个Application,Application销毁后,它才销毁


比较了下,觉得还是getActivity()比较靠谱,于是将所有的getContext()全都替换成了getActivity()方法,问题解决。。。


果真不仅要会使用方法,还是需要了解方法,本人的第一篇blog,不喜勿喷大笑


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以尝试在代码添加以下语句来解决pdfjs2.3渲染首张图横向问题: PDFJS.getDocument(url).then(function(pdf) { pdf.getPage(1).then(function(page) { var viewport = page.getViewport({scale: 1}); var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); if (viewport.width > viewport.height) { canvas.width = viewport.width; canvas.height = viewport.height; context.rotate(Math.PI / 2); context.translate(, -canvas.width); } else { canvas.width = viewport.width; canvas.height = viewport.height; } var renderContext = { canvasContext: context, viewport: viewport }; page.render(renderContext); }); }); 希望能帮到您。 ### 回答2: pdfjs 2.3是一款用于在网页上渲染PDF文件的JavaScript库。横向渲染首张图的问题可以通过以下几种方式解决。 1. 设置渲染方向:使用pdfjs库提供的API,可以设置渲染方向。通过将渲染方向设置为横向,可以解决渲染首张图横向的问题。 2. 调整页面布局:在网页,可以通过调整页面布局来解决渲染首张图横向的问题。可以使用CSS样式将页面布局调整为纵向,并且限制首张图的宽度,以确保首张图按照正确的方向渲染。 3. 更新pdfjs版本:如果当前使用的是较早的版本,可能存在渲染首张图横向的问题。可以尝试升级到较新的版本,很可能已经修复了该问题。 4. 修改PDF文件:如果PDF文件本身存在问题导致渲染首张图横向,可以尝试使用PDF编辑软件对PDF文件进行修改。可以调整页面方向或旋转首张图,以解决横向渲染的问题。 总之,针对pdfjs 2.3渲染首张图横向的问题,可以通过设置渲染方向、调整页面布局、升级pdfjs版本或修改PDF文件等多种方式来解决。具体的解决方法可以根据具体情况选择。 ### 回答3: 要解决pdfjs2.3渲染首张图横向的问题,我们可以尝试以下方法: 1. 检查pdf文件的方向:首先,我们需要确认pdf文件的方向是否正确。可以使用其他pdf阅读器打开文件,检查是否显示为纵向。如果方向不正确,可以尝试使用pdf处理工具进行旋转操作,将文件方向调整为正确的纵向。 2. 调整页面布局:pdfjs2.3提供了页面布局调整的功能,可以通过更改页面的CSS样式来解决渲染横向问题。可以在调用pdfjs渲染页面的代码,添加自定义的CSS样式,将页面布局调整为纵向。具体的方法是使用CSS的transform属性,向页面添加适当的旋转角度。 3. 更新pdfjs版本:如果以上方法无效,可以尝试更新pdfjs的版本。可能新的版本已经修复了渲染首张图横向的问题。可以在pdfjs的官方网站或开发者社区最新的版本,并更新到系统上使用。 需要注意的是,pdfjs是一个开源的项目,可能会存在一些bug或者限制。在遇到问题时,可以查阅官方文档、开发者论坛或者相关的技术资料,获取更多有关pdfjs渲染首张图横向问题解决方法的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值