progressdialog
优点:耗时操作的时候,无法点击其他位置,以免动作重复。
理解:
需求:点击"跳转"按钮,按钮内饰先请求接口数据,成功后,从当前activity跳转到下一个activity;
分析:假如请求接口时,网络发生延迟,在5秒后,数据才请求成功,在这5秒内,按钮被多次点击,那么接口也会多次被请求,跳转的命令也在被多次调用,这样实际的结果就是,会出现多个第2个activity,点击返回上一个activity需要多次点击,影响用户体验,说到这有人说,对activity进行限制,假如出现了activity,就不执行activity的跳转功能;这样会涉及到另外一个问题,就是在网络延迟的情况下,用户多次点击“跳转”,界面会没有反应,虽然activity只有一个,但是也影响到了用户体验,所以,耗时操作的加入,就顺时了
1、在需要显示的地方初始化一下
private progressdialog pd;//耗时控件
pd= ProgressDialog.show(MainActivity.this, "", "正在起盘…");//参数为activity的context;“题目”,“内容”;
2、需要它消失的时,需要在线程中掉用,处理方法为:
mhandler.sendemptymessage(WAITTIME);//这个放到需要让耗时控件消失的地方
// 在线程中,对它进行消失操作;
private int WAITTIME=2000;
public Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
Bundle bundle;
switch (msg.what) {
case WAITTIME:
pd.dismiss();
break;
}
}
}
相关阅读
当前操作环境不支持支付宝控件 这种情况多发生在windows10的环境下,参考 解决办法! 这个问题解决了,可是太悲剧了,你的电脑可能又出现
当系统提供的控件,无法满足我们的需求的时候,我们往往会 想到自定义控件,通过继承View来实现。当我们想像 系统提供的控件那样可以如
【ASP.NET】DataList控件之ItemTemplate模式(自定义模
一、DataList呈现效果图如下: 二、前端控件代码: <asp:DataList ID="DataList1" OnItemCommand="DataList1_ItemCommand" run
一、NotifyIcon控件右键菜单的设置二、NotifyIcon控件闪烁效果实现Windows通知栏可以显示应用程序的图标以当应用程序窗口隐藏时,
效果图: 1.定义一个Spinner控件: <Spinner android:layout_width="150dp" android:layout_height="match_parent"