android中surfaceCreated不被调用问题怎样解决
当SurfaceView创建时,会调用surfaceCreated()方法。如果该方法没有被调用,多是以下几个缘由致使:
1. SurfaceView没有被正确地添加到Activity中。
确保在Activity的布局文件中正确地添加了SurfaceView,还是在代码中使用setContentView()方法将SurfaceView添加到Activity中。
2. SurfaceView的大小没有被正确地设置。
确保在SurfaceView被创建之前,使用setFixedSize()或setMinimumWidth()和setMinimumHeight()方法设置SurfaceView的大小。
3. SurfaceView所在的Activity没有被正确地声明。
在AndroidManifest.xml文件中,确保Activity的声明中包括了对应的SurfaceView。
4. SurfaceView的holder没有被正确地设置。
在Activity中获得SurfaceHolder对象,并将SurfaceHolder.Callback设置为SurfaceView的holder。
如果以上方法都没有解决问题,可以尝试重新编译和运行项目,还是尝试在区分的装备上测试。如果问题依然存在,多是由于装备的硬件或软件不支持SurfaceView。
TOP