我尝试将列表绘制为按钮。 但是,当我按下其中任何一个时,我的应用程序都没有任何操作。
这是我的代码:
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
final int viewMode = mViewMode;
Log.i("test", "onCameraFrame");
switch (viewMode) {
case VIEW_MODE_GRAY:
title.setText("J");
break;
case VIEW_MODE_RGBA:
break;
}
return mRgba;
}
public boolean onOptionsItemSelected(MenuItem item) {
if (item == mItemMode1) {
mViewMode = VIEW_MODE_1;
} else if (item == mItemMode2) {
mViewMode = VIEW_MODE_2;
} else if (item == mItemMode3) {
mViewMode = VIEW_MODE_3;
} else if (item == mItemModeRTDemo) {
mViewMode = VIEW_MODE_RTDemo;
}
return true;
}
实际上,我删除了private CameraBridgeViewBase mOpenCvCameraView;
。在删除CamaraBridgeViewBase之前,我的列表工作正常。我不知道问题是否与我的行为有关。
Down是我的xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:opencv="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<org.opencv.android.JavaCameraView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
opencv:show_fps="true"
opencv:camera_id="any"
android:id="@+id/tutorial2_activity_surface_view" />
<org.opencv.android.NativeCameraView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tutorial1_activity_native_surface_view"
opencv:show_fps="true"
opencv:camera_id="any" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="39dp"
android:text="title"
android:textAppearance="?android:attr/textAppearanceMedium" />
答案 0 :(得分:1)
onCameraFrame()
应返回Mat
,但您的代码不会。
你需要像
这样的东西public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
final int viewMode = mViewMode;
Log.i("test", "onCameraFrame");
switch (viewMode)
{
case VIEW_MODE_GRAY:
title.setText("J");
return inputFrame.gray();
case VIEW_MODE_RGBA:
return inputFrame.rgba();
}
}