Java 了解Android中Camera2Basic中camera2 API中的按钮点击
我试图理解Camera2API在GoogleCamera2Basic示例代码中是如何工作的。具体来说,“图片”按钮如何注册快照 在onCreateViewCreated中:Java 了解Android中Camera2Basic中camera2 API中的按钮点击,java,android,android-camera,Java,Android,Android Camera,我试图理解Camera2API在GoogleCamera2Basic示例代码中是如何工作的。具体来说,“图片”按钮如何注册快照 在onCreateViewCreated中: @Override public void onViewCreated(final View view, Bundle savedInstanceState) { view.findViewById(R.id.picture).setOnClickListener(this); view.findViewBy
@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);
}
所以setOnClickListener()
注册单击?但是,它的作用是什么呢?我看到这个被传了进来,但我不明白发生了什么
我通常做的是在onCreateView()
中设置一个按钮,并将其setOnClickListener()
连接到如下操作:
photoButton = (Button)v.findViewById(R.id.picture);
photoButton.setOnClickListener(new View.onSetClickListener() {
@Override
public void onClick(View v) {
//some action
}
});
在示例代码中也发生了同样的事情。但是,它看起来有点不同,因为
Camera2BasicFragment
活动正在实现OnClickListener
。因此,当设置onClickListener时,this
表示此活动将覆盖onClick
方法。因此,当单击按钮时,会自动调用类中的onClick
方法
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.picture: {
takePicture();
break;
}
case R.id.info: {
Activity activity = getActivity();
if (null != activity) {
new AlertDialog.Builder(activity)
.setMessage(R.string.intro_message)
.setPositiveButton(android.R.string.ok, null)
.show();
}
break;
}
}
}