我正在制作一个简单的 android 应用程序来录制声音。我有一个 startRecording() 和 stopRecording() 方法。现在我实现了一个名为“Touch to record”的 ToggleButton,正如您已经想象的那样,当按钮被选中时,您必须按住录制按钮来录制声音,当按钮处于“关闭”状态时,您必须单击开始并然后单击停止。
这是当前代码:
touchToRecord.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked)
{
recBtn.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
recBtn.setImageResource(com.whizzappseasyvoicenotepad.R.drawable.record_btn_pressed);
chTimer.start();
chTimer.setTextColor(Color.GREEN);
startRecording();
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
recBtn.setImageResource(com.whizzappseasyvoicenotepad.R.drawable.record_btn);
chTimer.stop();
stopRecording();
nameAlert();
}
return true;
}
});
}
else
{
//onClickListener
}
}
});
现在我不确定如何制作 onClickListener。如果我尝试这样做:
recBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
它不起作用,因为它强调了 setOnClickListener 并说:
View 类型中的方法 setOnClickListener (View.OnClickListener) 不适用于参数(new DialogInterface.OnClickListener(){})
另外,在我完成这项工作之后还有一件事;如何使用 if 语句检查该方法是否已在运行?我想做这样的事情:
if (startRecording == isRunning)
{
stopRecording();
}