別のスレッドの実行中にクリックできない 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 がすぐに実行されるように見えるためです。
誰かが何が起こっているか知っていますか?
ありがとう!