首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

“android.view.SurfaceHolder android.view.SurfaceView.getHolder()”在SurfaceView中的空对象引用上

android.view.SurfaceHolder是一个接口,它允许开发者访问SurfaceView的底层绘图表面。SurfaceView是Android中用于在后台线程中绘制图形的一种特殊视图。

android.view.SurfaceView.getHolder()是SurfaceView类的一个方法,用于获取SurfaceHolder对象。SurfaceHolder是SurfaceView的内部类,它提供了控制SurfaceView绘图表面的方法。

在SurfaceView中的空对象引用上指的是当SurfaceView还没有被创建或者已经被销毁时,调用getHolder()方法返回的SurfaceHolder对象为空。这种情况下,如果尝试对空对象引用进行操作,会导致空指针异常。

为了避免空对象引用,可以在使用SurfaceHolder对象之前,先判断它是否为空。例如:

代码语言:java
复制
SurfaceView surfaceView = findViewById(R.id.surfaceView);
SurfaceHolder holder = surfaceView.getHolder();
if (holder != null) {
    // 对holder进行操作
} else {
    // 处理holder为空的情况
}

SurfaceHolder对象可以用于控制SurfaceView的绘图表面,包括设置绘图格式、添加回调方法、锁定/解锁画布等。通过SurfaceHolder对象,开发者可以在SurfaceView中进行自定义绘图、视频播放、相机预览等操作。

腾讯云提供了一系列与云计算相关的产品,包括云服务器、云数据库、云存储、人工智能等。具体推荐的腾讯云产品和产品介绍链接地址可以根据具体需求和场景进行选择。

相关搜索:调用intent时在空对象引用上的ContentResolver.getPackageName()在启动意图时尝试调用空对象引用上的虚拟方法在Julia中的函数调用上构造对象在使用回收程序视图时,尝试调用空对象引用上的虚拟方法Android上的Kivy,出现JVM异常:尝试调用虚拟方法...在空对象引用上flutter尝试在空对象引用上调用虚方法的空io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onPostResume()‘typescript中的接口:在嵌套对象引用上使用函数参数在空对象引用上调用虚方法的空androidx.recyclerview.widget.RecyclerView.setHasFixedSize(boolean)‘时遇到尝试在elasticsearch中搜索对象字段为空/空的文档在尝试通过java类访问活动中的方法时,在空对象引用上执行android.content.Context.getPackageName()可能重复:试图在空对象引用上调用虚方法的空android.widget.TextView.setText(java.lang.CharSequence)‘试图在空对象引用上调用虚方法的void android.widget.Editor$SelectionModifierCursorController.hide()‘试图在空对象引用上调用虚拟方法的布尔值java.util.ArrayList.add在嵌套数组中搜索JavaScript中的空对象在Java中查找调度对象列表中的空槽尝试在空对象引用上调用接口方法的布尔android.view.inputmethod.InputConnection.finishComposingText()‘- Android Kotlin试图在空对象引用上调用虚拟方法的androidx.navigation.NavGraph androidx.navigation.NavDestination.getParent()‘试图在空对象引用上读取字段的android.widget.TextView com.choudhary.numberreciever.MainActivity.IncomingNumber‘试图在空对象引用上调用虚拟方法的android.content.Context android.content.Context.getApplicationContext()‘试图在空对象引用上调用虚拟方法的布尔值com.google.firebase.firestore.DocumentSnapshot.exists()‘
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

android之相机开发

android应用相机功能,一般有两种:一种是直接调用系统相机,一种自己写相机。...第二种: (1)首先我们要自己创建一个照相界面,必须考虑用什么控件显示照相机预览效果,显然android已经帮我们做好了选择,那就是SurfaceView 控制SurfaceView需要一个surfaceHolder...,他是系统提供一个用来设置SurfaceView一个对象,可以通过surfaceView.getHolder()这个方法来获得....那么这是就需要在那个参数jpeg 方法里面进行处理了,那个方法data参数,就是相片数据。...,但是我们程序上,也可以做一些处理, 向上面的那些,因为我直接把surfaceView当做整体布局,就可能出现屏幕被拉开了,不是很好看,所以这时,就可以不要把 surfaceView弄成整体布局,

80910
  • 【Android FFMPEG 开发】FFMPEG ANativeWindow 原生绘制 ( Java 层获取 Surface | 传递画布到本地 | 创建 ANativeWindow )

    : Surface 画布可以 SurfaceView SurfaceHolder 获取 //绘制图像 SurfaceView SurfaceView surfaceView; // SurfaceView...surfaceHolder.getSurface() ; ② 将 Surface 对象传递到 Native 层 : SurfaceHolder.Callback 接口 surfaceChanged...Surface 画布 : 这里 Surface 画布从 SurfaceView 获得 , SurfaceHolder.Callback 监听方法获取 SurfaceHolder 及 Surface...实现 Surface 传递方法 : Native 层实现 Java 定义方法 ; extern "C" JNIEXPORT void JNICALL Java_kim_hsl_ffmpeg_Player_native...ANativeWindow 创建 : Native 层实现 Java 定义本地方法 native_set_surface ( ) , 该方法传入了 Surface 对象作为参数 ; 该 Native

    84210

    Android图片识别应用详解

    最近由于参加一个小小创意比赛,用安卓做了一个小小图片识别应用,主要是通过拍照识别图片中的菜品,还有对象位置查找东西。...1、界面 我采用了一个SurfaceView用来显示摄像头预览画面,重写了一个SurfaceView来进行红色方框还有菜品名字绘制。图片是一个ImageVIew,相当于拍照按钮功能。...private String result_content; //服务器返回结果 private SVDraw surfaceView; //需要绘制surfaceview private TextView...); List<String values = new ArrayList<String (); try { obj = new JSONObject(result_content); //json对象...(); surfaceView.drawLine(keys,values); tv.setText("搭配很赞哦"); } //onCancelled方法用于取消执行任务时更改UI @Override

    4K41

    Android多媒体录制--MediaRecorder视频录制

    surfaceView.getHolder().setKeepScreenOn(true); 3、现在看“开始录制”监听事件 ----3.1 创建MediaRecorder对象...这样图像就是正常显示了,这里设置是观看保存后视频角度 recorder.setOrientationHint(90); ----3.4 设置文件存储路径,这里简陋了,实际开发需要判断是否有外部存储...android.media.MediaRecorder; 5 import android.os.Bundle; 6 import android.os.Environment; 7 import android.view.SurfaceHolder...isRunning){ 57 try { 58 //创建MediaRecorder对象 59 recorder...,用于给刚接触MediaRecorder音频录制coder学习,存在一些Bug和不足,各位coder可以继续拓展 不足: 1、只有当点击“开始录制”时候SurfaceView组件才可以看到摄像头拍摄预览

    2.7K70

    Android开发笔记(五十六)摄像头拍照

    图像数据可以接口中onPictureTaken方法获得,通常我们只关心最后一个JPG图像数据,所以前面的接口参数可以直接传null。...预览视图SurfaceView/预览持有者SurfaceHolder SurfaceView是Android一种特殊视图,它拥有独立绘图表面,即它不与其宿主页面共享同一个绘图表面。...由于拥有独立绘图表面,因此SurfaceView界面就可以一个独立线程中进行绘制,我们称之为渲染线程。因为它不占用主线程资源,所以一方面可以实现复杂而高效UI,另一方面也会及时响应用户输入。...: 获取预览视图对象。...该方法用于关联SurfaceView和SurfaceHolder,它与Camera.setPreviewDisplay最终联合完成SurfaceView与Camera关联,即摄像头画面展示预览界面上

    1.8K20

    Android实现拍照和录制视频功能

    本文实例为大家分享了Android实现拍照和录制视频功能具体代码,供大家参考,具体内容如下 文档Camera 要使用Camera,首先我们先看一下文档是怎么介绍。...相对于其他绝大多数类,文档对Camera介绍还是比较详尽,包含了使用过程中所需要步骤说明,当然,这也表明了它在实际使用繁琐。...如果有必要,修改上面所返回Camera.Parameters对象,并调用setParameters(Camera.Parameters) 进行设置 4....你应用应该在onPause()被调用时就进行释放,onResume()时再重新open()。 上面就是文档关于使用Camera进行拍照介绍了。接下来说一下我使用场景。...android.hardware.Camera; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.SurfaceHolder

    3.2K30

    使用Android MediaPlayer播放媒体文件

    这个方法有多个重载版本,适应于不同情况,既可以对使用文件路径作为参数,也可以使用描述文件位置Uri作为参数 prepare() 开始播放之前调用这个方法完成媒体文件准备工作 start() 开始播放媒体文件文件...* setDisplay方法接收是一个SurfaceHolder * 对象所以先要得到我们布局文件...* SurfaceViewSurfaceHolder对象,之后 * 设置长和宽,最后设置视频输出源 */...因为模拟器没有媒体文件,所以用真机进行测试,单击“开始”按钮: ? 单击“暂停”按钮: ? 单击“停止”按钮之后又变成了第一幅图。...接下来媒体文件路径输入控件EditText输入一个视频绝对路径: ? 成功播放出来了视频!

    2.7K10
    领券