Activity处于后台Handler进行UI操作View组件的isShow()方法慎用
2013-03-26 14:17
417 查看
今天测试程序时发现Activity处于后台时,当前activity处于stop()状态,当前activity接受到消息,然后针对该消息使用Handler进行UI操作,需要将界面中的某个组件隐藏,但发现一直无法隐藏,主要是由于该组件隐藏前,使用isShow()方法进行判断。当前Activity处于后台时,View.isShow()一直为false,导致不会隐藏该组件。所以最好是不要用这个判断条件或者是改为判断该组件是否为null,当不为null的时候可以执行 rl_qrcode.setVisibility(View.GONE);则组件的显示和隐藏会正常执行。
亲,View.isShow()慎用
亲,View.isShow()慎用
Handler mHandler = new Handler(){ @Overridepublic void handleMessage(Message msg) { switch (msg.what) { case SHOW_SET: if (rl_qrcode != null) { rl_qrcode.setVisibility(View.VISIBLE); } break; case HIDE_SET: if (rl_qrcode.isShow()) { //当前Activity处于后台时,View.isShow()一直为false,导致不会隐藏该组件 rl_qrcode.setVisibility(View.GONE); } break; default: break; } super.handleMessage(msg); } };
相关文章推荐
- android4.0以上访问网络不能在主线程中进行以及在线程中操作UI的解决方法
- Android:UI更新方法一:Handler+View.invalidate+Thread+Runnable
- 从零开始搭建一个完善的MVP开发框架(四) —对View(Activity,Fragment等)层组件进行封装简化View层的开发
- 2个更新UI的方法--activity.runOnUiThread及handler.post
- Android四大组件之—— 使用服务进行后台操作
- 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
- Android UI 设计之 TextView EditText 组件属性方法最详细解析
- android 访问网络不能在主线程中进行以及在线程中操作UI的解决方法
- 【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析
- Activity调用静态方法改变UI,使用Handler来改变UI显示
- 【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析
- Android编程实现长按弹出选项框View进行操作的方法
- Android游戏开发6:SurfaceView中添加组件并进行数据交互的方法
- iOS--UIActivityIndicatorView的使用方法详细
- 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
- 【Android 非人为操作的UI更新】在onCreate()和onResume()等方法中的更新UI操作方法及获取View的相关消息
- 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
- BackgroundWorker组件进行异步操作UI
- 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
- IOS--UIActivityIndicatorView的使用方法详细