我在android中使用ProgressDialog来防止用户在长任务更新UI时多次按下按钮。
我的问题是ProgressDialog似乎在一段时间后才出现,因为它似乎是另一个线程。
在我的实验中,我在EditText的文本更改的侦听器中调用了此ProgressDialog show()。它仍然允许我在出现之前的短时间内输入多个字符。
有没有办法可以检测到ProgressDialog已经开始了?
编辑1: 这是在真实设备上完成的。代码就是这样:
editText.addTextChangedListener( new TextWatcher() {
...
public void onTextChanged(CharSequence s, int start, int before, int count) {
ProgressDialog lock = new ProgressDialog(UIClass.this);
lock.show();
}
...
});
我的第一个假设是,这会在我输入的第一个字符后立即显示对话框,但是当我通过在短时间内输入多个字符进行测试时仍然可以,并且锁定仅在第2个或第3个字符后开始。我假设这是因为ProgressDialog是另一个线程。我想知道如何在我感兴趣的确切位置正确锁定UI。