我正在尝试在另一个线程运行时执行不可点击的 ImageView。然后当线程完成时,再次带回 ImageView 可点击。
像这样的东西:
@Override
protected void onCreate(Bundle savedInstanceState) {
...
imageView.setClickeable(false); // or setEnabled = false
new Thread(){
public void run(){
anotherClass.secondClassMethod();
}
}.start();
imageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
...
}
});
}
private anotherClassCallback callback = new anotherClassCallback(){
@Override
public void hasFinished(){
imageView.setClickable(true); // or setEnabled = true
}
};
但它实际上不起作用,因为例如,如果我在线程运行时在 imageView 上单击 3 次,当 hasFinished 方法执行时,它看起来像是保持了我的 3 次单击,然后立即运行了 3 次 onTouch。
有人知道发生了什么吗?
谢谢你!