我希望在用户执行某些操作(例如长按)时立即暂停“事件线程”/活动,并在用户执行其他操作(简单点击)时取消暂停。问题是,在我执行长按后,事件线程进入等待队列。因此,当我进行简单点击时,它不会被拦截。我该如何实现这一点?请注意,我不想通过显示进度对话框等方式暂停活动,我想保留我的活动处于前台并被暂停。以下是我尝试过的方法:/
final Thread t = new Thread(new Runnable() {
@Override
public void run() {
synchronized(this){
try {
this.notify();
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
vg.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
try {
synchronized(this){
this.wait();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
return true;
}
});
vg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
synchronized(this){
t.start();}
}
});