android - Android OpenCV应用程序中的计时器中的“Context cannot be resolved or is not a field”错误

标签 android opencv timer

我试图显示在我的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软件包中的图像处理示例的修改

@布伦德尔
我已将context变量更改为public,并且当我从应用程序菜单中选择mediumBlur时,整个应用程序崩溃。

最佳答案

如果你在谈论这个,

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

您只需要像这样的 Activity 上下文,
ImageManipulationsView.this

如果还有其他错误,则需要发布代码,实际上是错误所在。只有这样,我才能编辑我的答案。

关于android - Android OpenCV应用程序中的计时器中的“Context cannot be resolved or is not a field”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231845/

相关文章:

Android FragmentActivity 问题

android - RecyclerView 禁用滚动不起作用

android - 如何使用 Volley 在 JSON 中的数组中获取数组中的元素

c++ - 自适应双边滤波器以保留边缘

swift - 如何在 Swift 上计算定时器

android - InstrumentationRegistry.getContext() 替换示例

c++ - 更改后如何将默认名称设置为窗口?

c++ - OpenCV 距离变换中的像素索引

java - 计时器未在预定时间被调用

java - 使用 Jlabel 的 javax 计时器没有运气