1

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 は引数に適用できません」です。

@Blundell コンテキスト変数を public に変更しました。アプリ メニューから medianBlur を選択すると、アプリ全体がクラッシュします。

4

2 に答える 2

0

あなたがこれについて話しているなら、

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

このようにアクティビティのコンテキストを設定する必要があります。

ImageManipulationsView.this

他のエラーがある場合は、実際にエラーが発生している場所にコードを投稿する必要があります。そうして初めて、私は自分の答えを編集することができます。

于 2013-01-09T09:24:37.050 に答える
0

Android の設計標準では、コードが少し間違っています。

contextしかし、このクラスの変数を「見る」ことができないようです。

ImageManipulationsViewクラスで、context変数を public に変更します。

 public Context context;
于 2013-01-09T09:27:16.100 に答える