cor*_*cor 14 android android-layout android-progressbar android-view
我像往常一样在操作栏中显示我的infinte进度条:
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
...
setProgressBarIndeterminateVisibility(true);
...
setProgressBarIndeterminateVisibility(false);
Run Code Online (Sandbox Code Playgroud)
并且真正的工作是在后台线程中完成的(AsyncTask)
问题:UI上的所有控件都已启用,因此用户可以在持久过程完成之前继续修改基础数据.
简单地禁用所有控件是不可能的,因为在禁用EditText时,Android也会自动关闭键盘.
有什么想法在后台工作期间如何防止用户输入?
谢谢,
克里斯
你可以做的是调出一个不可见的对话框,防止它被取消.它将显示其下的任何内容,但禁用所有基础用户交互.一旦你完成了你的业务,你只需解雇它,继续你的生活:
Dialog mOverlayDialog = new Dialog(mContext, android.R.style.Theme_Panel); //display an invisible overlay dialog to prevent user interaction and pressing back
mOverlayDialog.setCancelable(false);
mOverlayDialog.show();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19736 次 |
| 最近记录: |