JZVideo--全屏切小屏报错没有获得的窗口错误
一、报错
Attempt to invoke virtual method 'android.view.Window android.app.Activity.getWindow()' on a null object reference
报错的项目来源于b站:Android实战练习--超简单网络视频播放器
二、原因
在VideoAdapter.java文件代码:
@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder = null;if (convertView == null) {convertView = LayoutInflater.from(context).inflate(R.layout.item_mainlv,parent,false);holder = new ViewHolder(convertView);convertView.setTag(holder);}else {holder = (ViewHolder) convertView.getTag();}// 获取指定位置的数据源String path = "xxxx";holder.jzvdStd.setUp(path,"test",JzvdStd.SCREEN_NORMAL);holder.jzvdStd.positionInList = position;return convertView;}class ViewHolder{JzvdStd jzvdStd;public ViewHolder(View view){jzvdStd = view.findViewById(R.id.item_main_jzvd);}}
由于jzvdStd在全屏切为小屏时,已经释放了jzvdStd窗口,而后续的 if (convertView == null)判断中,直接到else语句,所以已经释放的窗口无法被else中的语句在获得窗口,所以报错。(以上是个人见解)
三、解决方案
用以下的代码,替换上述的代码
@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder viewHolder;if (null == convertView) {viewHolder = new ViewHolder();LayoutInflater mInflater = LayoutInflater.from(context);convertView = mInflater.inflate(R.layout.item_mainlv, null);convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}viewHolder.jzvdStd = convertView.findViewById(R.id.item_main_jzvd);// 获取指定位置的数据源String path = "xxx";viewHolder.jzvdStd.setUp(path,"test",JzvdStd.SCREEN_NORMAL);return convertView;}class ViewHolder{JzvdStd jzvdStd;}
JZVideo--全屏切小屏报错没有获得的窗口错误相关推荐
- 小程序报错:[渲染层网络层错误] Failed to load local image resource /static/logo.png......
问题来源 我在刚开发微信小程序时发现了一个问题,当我用hbuilder x运行小程序到微信开发者工具中时,出现了报错. 报错后并且也出不来图片,当时也去百度了许多用法,发现大多数都无法解决.我也很奇怪 ...
- java小括号报错_JAVA新人常犯错误集锦
学习程序设计,最怕的事情可能就是遇到错误却找不到错在哪里.这里列举一下笔者发现的JAVA新人常犯的错误,供目前正在上笔者JAVA课程的学生参考,其他JAVA初学者亦可借鉴. 1.没有区分中英文 在JA ...
- android视频播放器ui,ArtVideoPlayer 一个灵活的Android视频播放器,支持全屏,小屏播放...
ArtPlayer 简介 Kotlin实现的视频播放器,将MediaPlayer与VideoView解耦合,支持切换播放器内核(如ExoPlayer和ijkPlayer),支持自定义控制视图,提供Me ...
- MPI部署踩坑实况!!!最终成功跑通梯形面积法!!!精准全流程命令+各步骤报错解决方案!!!
MPI部署踩坑实况!!!最终成功跑通梯形面积法!!!精准全流程命令+各步骤报错解决方案!!! 写在前面,博主暂用Win10系统,本想远程连接控制个服务器走一下流程,经师兄推荐,使用WSL装了个Ubun ...
- 小程序报错:Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail req..
小程序报错 addFunction.js? [sm]:55 [云函数] [sum] 调用失败: Error: errCode: -404011 cloud function execution err ...
- 小程序报错类—— thirdScriptError sdk uncaught third Error Cannot read property '$mount' of unde
小程序报错 这个报错的原因找了好久,之前写的一点问题都没有,都是可以跑起来的后来报这个错也是很懵.百度上面也没有特殊指定是那里的问题.所以后面找啊找的最终找到了 那就是后台新增了一些数据,没有告知,要 ...
- 微信小程序控制台 报错 对应的服务器证书无效 控制台输入 showRequestInfo() 可以获取更详细信息 原因是ssl证书过期 重新申请即可
微信小程序控制台 报错 对应的服务器证书无效.控制台输入 showRequestInfo() 可以获取更详细信息 报错原因:域名下的SSL证书过期 我这边报错的原因是ssl证书过期 重新申请后就好了, ...
- 小程序报错修改Expecting 'STRING','NUMBER'
小程序报错:VM197:1 pages/index/index.json Expecting 'STRING','NUMBER','NULL','TRUE','FALSE','{','[', got ...
- 小程序-报错 xxx is not defined (已解决)
小程序-报错 xxx is not defined (已解决) 问题情境: 这样一段代码,微信的小程序报错 is not defined 我 wxml 想这样调用 //wxml 代码 <view ...
最新文章
- playframework学习笔记1 -- 开发环境和第一个工程
- MFC中CArray类原理及其应用
- 轴添加点击事件_Q群答疑丨如何批量修改Revit轴网编号,为它添加前缀?
- catboost原理以及Python代码
- 弱网测试用什么农_为什么用木蜡油做的家具,用甲醛测试仪测试会显示甲醛超标?...
- python学习之路 一 :编程语言介绍
- [转载] java中关于用\t格式输出
- 如何从一个吊丝男成为一个合格的高级程序员
- spring中MessageSource的配置使用方法2--ReloadableResourceBundleMessageSource
- Bartender 让Mac选项列不再拥挤
- 《念奴娇·赤壁怀古》古词鉴赏
- USB OTG原理简述实际的USB连接线中,是没有USB_ID这根线的。 都是在接口部分直接拉死的。两用OTG设备都有一个Mini-AB插槽,所以一个Mini-A至Mini-B电缆可以直接将两个连接
- java秒换算成时分秒的形式
- Unity加载火炬之光的场景
- 更换ruby源----RubyGems 镜像 - 淘宝网
- 读围城论方鸿渐与孙柔嘉的爱情
- 85 Operations Rules to Live By
- 【2018虚拟现实】VR眼镜不只是当下,它就是未来!不仅是VR小电影和游戏!
- Android 重装系统之小米系统
- 矩阵分析学习(补充)