• 注释参数opengl的surfaceview使用findViewById返回null问题解决


    在写这篇文章之前,xxx已经写过了几篇关于改注释参数主题的文章,想要了解的朋友可以去翻一下之前的文章

        尼玛,搞了一年多引擎,苦逼的我又开始研究起android开发来了

        手里有个需求须要应用Opengl 画YUV格式的视频数据,所以就写了小东东,结果丫的就是获取不了view,代码如下

        先看代码好了

        1,继承opengl的surfaceView的类

        public class MyGLSurface extends GLSurfaceView {

     private MyGLRender mMyGLRender;

        
     public MyGLSurface(Context context) {
      super(context);

     }
     
     public MyGLSurface(Context context, AttributeSet attrs) {
      super(context, attrs);
      
     }
     
     public MyGLSurface(Context context, AttributeSet attrs, int defStyle) {
      super(context);//这里这么写也是很不厚道的

     }
    }

        2,再次继承了下面的类,用来处置一些UI以外的逻辑

        public class MyGLViewForLogic extends MyGLSurface {

        每日一道理
    这浓浓的母爱使我深深地认识到:即使你是一只矫健的雄鹰,也永远飞不出母爱的长空;即使你是一条扬帆行驶的快船,也永远驶不出母爱的长河!在人生的路上不管我们已走过多远,还要走多远,我们都要经过母亲精心营造的那座桥!

     public MyGLViewForLogic(Context context) {
      super(context);

      initVideoView();
     }
     
     public MyGLViewForLogic(Context context, AttributeSet attrs) {
      this(context, attrs, 0);//出问题的就是这里啦
      //super(context, attrs);//下面的注释失落,这句打开就好了
     }
     
     public MyGLViewForLogic(Context context, AttributeSet attrs, int defStyle) {
      super(context, attrs, defStyle);

     }
    }

        注释里头说了问题在哪里了,其实呢一般来讲如果view要加入到xml中而不是运行时添加到话,那么就须要应用到带有AttributeSet 的构造方法。

        也就是第二个构造函数了,结果不小心给写成了带三个参数的,而带三个参数的基类呢,又写成了一个参数的,所以就悲剧了。

        三个有问题的地方我都加了注释,各位看看就明白鸟

        好了,等有空了教教大家怎么用opengl画yuv数据

    文章结束给大家分享下程序员的一些笑话语录: 不会,Intel会维持高利润,也会维持竞争局面,国外的竞争不是打死对方的那种。你看日本有尼康,佳能,索尼,都做相机,大家都过得很滋润。别看一堆厂,其实真正控制的是后面的那几个财团——有些竞争对手,后面其实是一家人。

  • 相关阅读:
    java volatile关键字解惑
    Java 反射
    拷贝源实体类到目标实体类中
    Bean和Map之间的转换
    DateUtils时间的封装
    HttpClient的代码封装,便于直接调用
    HttpClient语法
    LinkedHashMap+ConcurrentHashMap+hashMap的区别
    1006 Tick and Tick
    Event Flow
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3085783.html
Copyright © 2020-2023  润新知