我正在尝试将Google Sample App集成到我自己的应用中。 The Sample App说明了Camera2 API的使用。示例应用程序编译并运行正常。
如上所述,我想在我的应用中使用CameraActivity.java
,Camera2BasicFragment.java
和AutoFitTextureView.java
。但是,当我运行我的应用程序时,我收到此错误:
java.lang.ClassCastException:android.view.TextureView无法强制转换为openbook.pub.sypa.view.AutoFitTextureView
此行抛出异常(在Camera2BasicFragment.onViewCreated
中):
mTextureView = (AutoFitTextureView) view.findViewById(R.id.texture);
AutoFitTextureView
与示例应用程序保持不变,并从TextureView扩展:
public class AutoFitTextureView extends android.view.TextureView {
我甚至将样本应用程序中的build.gradle
文件复制到我自己的应用程序中,以确保它依赖于相同的库。我也清理了这个项目。
为什么会出现此错误?为什么它在Google的示例应用程序中运行良好?
答案 0 :(得分:2)
为什么我会收到此错误?
据推测,膨胀到view
的布局有TextureView
,而不是AutoFitTextureView
。
为什么它在Google的示例应用程序中运行良好?
由于Google的示例应用layout有一个AutoFitTextureView
。