一、报错

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--全屏切小屏报错没有获得的窗口错误相关推荐

  1. 小程序报错:[渲染层网络层错误] Failed to load local image resource /static/logo.png......

    问题来源 我在刚开发微信小程序时发现了一个问题,当我用hbuilder x运行小程序到微信开发者工具中时,出现了报错. 报错后并且也出不来图片,当时也去百度了许多用法,发现大多数都无法解决.我也很奇怪 ...

  2. java小括号报错_JAVA新人常犯错误集锦

    学习程序设计,最怕的事情可能就是遇到错误却找不到错在哪里.这里列举一下笔者发现的JAVA新人常犯的错误,供目前正在上笔者JAVA课程的学生参考,其他JAVA初学者亦可借鉴. 1.没有区分中英文 在JA ...

  3. android视频播放器ui,ArtVideoPlayer 一个灵活的Android视频播放器,支持全屏,小屏播放...

    ArtPlayer 简介 Kotlin实现的视频播放器,将MediaPlayer与VideoView解耦合,支持切换播放器内核(如ExoPlayer和ijkPlayer),支持自定义控制视图,提供Me ...

  4. MPI部署踩坑实况!!!最终成功跑通梯形面积法!!!精准全流程命令+各步骤报错解决方案!!!

    MPI部署踩坑实况!!!最终成功跑通梯形面积法!!!精准全流程命令+各步骤报错解决方案!!! 写在前面,博主暂用Win10系统,本想远程连接控制个服务器走一下流程,经师兄推荐,使用WSL装了个Ubun ...

  5. 小程序报错:Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail req..

    小程序报错 addFunction.js? [sm]:55 [云函数] [sum] 调用失败: Error: errCode: -404011 cloud function execution err ...

  6. 小程序报错类—— thirdScriptError sdk uncaught third Error Cannot read property '$mount' of unde

    小程序报错 这个报错的原因找了好久,之前写的一点问题都没有,都是可以跑起来的后来报这个错也是很懵.百度上面也没有特殊指定是那里的问题.所以后面找啊找的最终找到了 那就是后台新增了一些数据,没有告知,要 ...

  7. 微信小程序控制台 报错 对应的服务器证书无效 控制台输入 showRequestInfo() 可以获取更详细信息 原因是ssl证书过期 重新申请即可

    微信小程序控制台 报错 对应的服务器证书无效.控制台输入 showRequestInfo() 可以获取更详细信息 报错原因:域名下的SSL证书过期 我这边报错的原因是ssl证书过期 重新申请后就好了, ...

  8. 小程序报错修改Expecting 'STRING','NUMBER'

    小程序报错:VM197:1 pages/index/index.json Expecting 'STRING','NUMBER','NULL','TRUE','FALSE','{','[', got ...

  9. 小程序-报错 xxx is not defined (已解决)

    小程序-报错 xxx is not defined (已解决) 问题情境: 这样一段代码,微信的小程序报错 is not defined 我 wxml 想这样调用 //wxml 代码 <view ...

最新文章

  1. playframework学习笔记1 -- 开发环境和第一个工程
  2. MFC中CArray类原理及其应用
  3. 轴添加点击事件_Q群答疑丨如何批量修改Revit轴网编号,为它添加前缀?
  4. catboost原理以及Python代码
  5. 弱网测试用什么农_为什么用木蜡油做的家具,用甲醛测试仪测试会显示甲醛超标?...
  6. python学习之路 一 :编程语言介绍
  7. [转载] java中关于用\t格式输出
  8. 如何从一个吊丝男成为一个合格的高级程序员
  9. spring中MessageSource的配置使用方法2--ReloadableResourceBundleMessageSource
  10. Bartender 让Mac选项列不再拥挤
  11. 《念奴娇·赤壁怀古》古词鉴赏
  12. USB OTG原理简述实际的USB连接线中,是没有USB_ID这根线的。 都是在接口部分直接拉死的。两用OTG设备都有一个Mini-AB插槽,所以一个Mini-A至Mini-B电缆可以直接将两个连接
  13. java秒换算成时分秒的形式
  14. Unity加载火炬之光的场景
  15. 更换ruby源----RubyGems 镜像 - 淘宝网
  16. 读围城论方鸿渐与孙柔嘉的爱情
  17. 85 Operations Rules to Live By
  18. 【2018虚拟现实】VR眼镜不只是当下,它就是未来!不仅是VR小电影和游戏!
  19. Android 重装系统之小米系统
  20. 矩阵分析学习(补充)

热门文章

  1. 解决物体检测中的小目标问题
  2. css可以修改超链接颜色吗?
  3. JDBC环境变量配置
  4. c# switch 条件语句的用法
  5. 2007年新公司工作总结
  6. 十九、帧间预测编码_1、帧间预测编码的基本原理
  7. makedepend
  8. 解决IE8下上传文件问题,无需flash,无需html5
  9. 王学岗Retrofit初探(二)——文件的上传
  10. MP4学习(一)MP4格式分析