安卓OpenCV应用程序中的计时器中"Context cannot be resolved or is not a field"错误



我试图在我的Android OpenCV应用程序中显示定时器在以下代码中实现的结果:

case ImageManipulationsActivity.VIEW_MODE_MEDIAN:
capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA); 
if (mRgbaInnerWindow == null|| mGrayInnerWindow == null)
CreateAuxiliaryMats();
long start = System.currentTimeMillis();
Imgproc.medianBlur(mRgbaInnerWindow, mIntermediateMat, 25);
Core.convertScaleAbs(mIntermediateMat, mIntermediateMat, 1./10, 0);
Core.convertScaleAbs(mIntermediateMat, mRgbaInnerWindow, 10, 0);
long end = System.currentTimeMillis();
long elapse = end - start;
Toast.makeText(ImageManipulationsView.context.getActivity(), "" + elapse + "ms is used
to process", Toast.LENGTH_LONG).show();

我得到一个错误"上下文无法解决或不是一个字段"我做错了什么?我的计时器对吗?我如何显示它的结果?

@Sahil Mahajan Mj现在我有一个错误行:

Toast.makeText(ImageManipulationsView.this, "" + elapse + "ms is used to",
Toast.LENGTH_LONG).show();

从我在开始粘贴的代码。错误是" Toast类型中的makeText方法不适用于参数"如果有帮助的话,我的应用程序是对OpenCV4Android包中的图像操作示例的修改

@Blundell我已经将上下文变量更改为public,当我从应用程序菜单中选择medianBlur时,整个应用程序崩溃。

如果你在谈论这个,

Toast.makeText(ImageManipulationsView.context.getActivity(), "" + elapse + "ms is used
to process", Toast.LENGTH_LONG).show();

你只需要像这样设置Activity的Context,

ImageManipulationsView.this

如果存在其他错误,则需要将代码张贴在实际错误所在的位置。只有这样我才能编辑我的答案。

在Android设计标准中,你的代码有点错误。

但是看起来你不能从这个类中"看到"context变量。

ImageManipulationsView类中,将context变量更改为public

 public Context context;

相关内容

  • 没有找到相关文章

最新更新