Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:片段*.post()中的处理程序?_Java_Android_Android Fragments_Android Handler_Android Audiorecord - Fatal编程技术网

Java Android:片段*.post()中的处理程序?

Java Android:片段*.post()中的处理程序?,java,android,android-fragments,android-handler,android-audiorecord,Java,Android,Android Fragments,Android Handler,Android Audiorecord,我正在将代码从一个单一的活动迁移到由Big Nerd Ranch规定的片段/寻呼机设置(Incriminatent ch 21,)。伟大的书(顺便说一句:) 在此过程中,我将以下代码添加到片段CrimeCameraFragment中,以用音频录制替换相机照片录制。执行此操作时,我尝试使用的处理程序由于某种原因无法访问.post“错误:找不到符号方法post” 然后它具有以下timerTask: //timer code --------------------------------------

我正在将代码从一个单一的活动迁移到由Big Nerd Ranch规定的片段/寻呼机设置(Incriminatent ch 21,)。伟大的书(顺便说一句:)

在此过程中,我将以下代码添加到片段CrimeCameraFragment中,以用音频录制替换相机照片录制。执行此操作时,我尝试使用的处理程序由于某种原因无法访问.post“错误:找不到符号方法post”

然后它具有以下timerTask:

//timer code ---------------------------------------------------------------------
public TimerTask updateTimerThread = new TimerTask(){
    public void run(){
        currentTime = SystemClock.uptimeMillis();
        elapsedTime = currentTime - startTime;
        if(elapsedTime< recordingDurationInMilliseconds)
        {
            //First we read the audio buffer -----------
            int bufferRead = audioRecord.read(buffer, 0, readBufferSize);
            double dataDbl = processData(buffer, bufferRead);

            //Put the data and time stamp into arrays
            dataArray.add(dataDbl);
            timeArray.add(elapsedTime);

            //then fire up a new runnable
            mHandler.postDelayed(this, delayMillis);
        }
        else //if elapsed time is > max record time
        {
            stopRecording();
        };
    }
};
之后会自动生成代码:

mHandler = new Handler() {
            @Override
            public void close() {}

            @Override
            public void flush() {}

            @Override
            public void publish(LogRecord record) {}
        };
知道我的Handler.post功能去了哪里吗


谢谢

您的
处理程序
类不是Android
处理程序
类,而是java包中同名的
处理程序
类。只需删除导入代码,然后再次导入。检查它是否必须来自android软件包。如果我没记错的话,它应该是android.os.Handler。

请发布你声明的代码
mHandler
它只是一个空的dec.开始,然后是实例化…还有,神族规则。:)
private Handler mHandler = null;
mHandler = new Handler() {
            @Override
            public void close() {}

            @Override
            public void flush() {}

            @Override
            public void publish(LogRecord record) {}
        };