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