Android Studio:尝试调用虚拟方法';void android.view.view.setOnClickListener';关于空对象引用
我总是收到NullPointerExceptionAndroid Studio:尝试调用虚拟方法';void android.view.view.setOnClickListener';关于空对象引用,android,android-camera2,Android,Android Camera2,我总是收到NullPointerException Attempt to invoke virtual method 'void android.view.View.setOnClickListener(android.view.View$OnClickListener)' on a null object reference 我知道这是因为(SurfaceView)view.findViewById(R.id.SurfaceView\u show\u rectangle)为空,但我不明白为什
Attempt to invoke virtual method 'void android.view.View.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
我知道这是因为(SurfaceView)view.findViewById(R.id.SurfaceView\u show\u rectangle)为空,但我不明白为什么会出现这种情况以及如何解决它
我试过这个。但它不起作用。
下面是我的Fragment.java和xml文件
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_camera2_basic, container, false);
surfaceview = (SurfaceView)view.findViewById(R.id.surfaceview_show_rectangle);
return view;
}
@Override
public void onViewCreated(final View view, Bundle savedInstanceState) {
view.findViewById(R.id.picture).setOnClickListener(this);
view.findViewById(R.id.info).setOnClickListener(this);
mTextureView = (AutoFitTextureView) view.findViewById(R.id.texture);
//view.findViewById(R.id.surfaceview_show_rectangle).setOnClickListener(this);
//surfaceview = (SurfaceView)view.findViewById(R.id.surfaceview_show_rectangle);
surfaceview.setZOrderOnTop(true);
surfaceview.getHolder().setFormat(PixelFormat.TRANSPARENT);
surfaceHolder = surfaceview.getHolder();
surfaceview_result = (SurfaceView)view.findViewById(R.id.surfaceview_show_result);
surfaceview_result.setZOrderOnTop(true);
surfaceview_result.getHolder().setFormat(PixelFormat.TRANSPARENT);
surfaceResultHolder = surfaceview_result.getHolder();
}
我真的很感谢你的帮助。提前谢谢 把你的代码
surfaceview = (SurfaceView)view.findViewById(R.id.surfaceview_show_rectangle);
越界
surfaceview.setZOrderOnTop(true);
然后试试这个:
View view = inflater.inflate(R.layout.fragment_camera2_basic, null);
或
您正在设置列表器:
view.findviewbyd(R.id.picture).setOnClickListener(this)代码>,但您的活动是否实现了OnClickListener
?请参见。我认为您正在将此表面视图布局放入一些片段中。我们也需要检查它。因此,请发布更多代码。这样可以降低获取solutionsHi@SIVAKUMAR.J的复杂性!我更新了上面的xml文件。您能指定您需要的代码的哪一部分吗?
surfaceview.setZOrderOnTop(true);
View view = inflater.inflate(R.layout.fragment_camera2_basic, null);
LayoutInflater lf = getActivity().getLayoutInflater();
View view = lf.inflate(R.layout.fragment_camera2_basic, container, false);