首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我在View.VISIBLE之后调用View.GONE时,ProgressBar不会显示(但仅在较旧的手机上)

当在View.VISIBLE之后调用View.GONE时,ProgressBar不会显示的问题可能是由于以下原因导致的:

  1. 设备性能较低:较旧的手机可能在处理UI更新时存在一些延迟,导致ProgressBar在View.GONE被调用之前无法显示出来。这可能是由于设备处理能力不足或系统资源限制导致的。
  2. UI线程阻塞:如果在主线程(也称为UI线程)上执行了耗时的操作,例如网络请求或复杂的计算,那么ProgressBar可能无法及时显示。这是因为UI线程被阻塞,无法及时处理UI更新。

为了解决这个问题,可以尝试以下几种方法:

  1. 使用Handler或AsyncTask:将耗时的操作放在后台线程中执行,然后使用Handler或AsyncTask在操作完成后更新UI。这样可以避免阻塞UI线程,ProgressBar就能够正常显示。
  2. 使用View.post()方法:在View.VISIBLE之后立即调用View.post()方法,将ProgressBar的隐藏操作放在一个Runnable中执行。这样可以确保ProgressBar能够在UI更新之前显示出来。
  3. 使用ViewTreeObserver:通过注册ViewTreeObserver监听器,可以在View.VISIBLE之后监听到布局的变化,然后在回调中执行ProgressBar的隐藏操作。这样可以确保ProgressBar能够在布局变化完成后再隐藏。

腾讯云相关产品和产品介绍链接地址:

请注意,以上仅为腾讯云的一些相关产品,其他云计算品牌商也提供类似的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

android学习笔记----WebViewurl跳转时方法执行顺序体会

(View.GONE); } }; private ProgressBar progressBar; @Override protected void...shouldOverrideUrlLoadingonPageStarted前面的情况) 所以在这里,得出结论是 当访问目标地址需要重定向时候: 方法执行顺序:onPageStarted()-...当访问目标地址不需要重定向时候: 方法执行顺序:onPageStarted()-->onPageFinished() 这又有了一个问题,当我点击第二个按钮访问google时候,出现了问题!...如果需要加载自定义错误界面,嫌弃诸如下面的界面太丑的话,可以自己写界面onReceivedError方法进行操作,这样也不会暴露url。...访问异常情况比如404都会回调onReceivedError方法,正常情况下不会回调。

80710

android下拉加载更多

isRefreshable = false;// 刷新标志位默认为false     }   /**      * 滑动调用      */ public...firstItemIndex = firstVisiableItem;// ListView第一个索引值为ListView数据中第一个可见项     }   /**      * 滑动状态改变调用...);// 显示箭头             progressBar.setVisibility(View.GONE);// 移除进度条             tipsTextview.setVisibility...(View.VISIBLE);// 显示提示信息             lastUpdatedTextView.setVisibility(View.VISIBLE);// 显示最后刷新时间             ...(View.GONE);// 移除进度条             tipsTextview.setVisibility(View.VISIBLE);// 显示提示信息             lastUpdatedTextView.setVisibility

2.4K60
  • Android开发ListView使用OnScrollListener实现分页加载数据

    假设一下子所有载入用户未读微薄这将耗费比較长时间,造成不好用户体验,同一候一屏内容也不足以显示如此多内容。这时候,我们就须要用到还有一个功能,那就是listview分页了。...addFootView方法为listview底部增加一个视图,本例中就是那个Button加progressbar视图。当用户点击button。...调用loadmoreDate方法,为listview绑定很多其它数据。通过adapternotifyDataSetChanged方法通知listview刷新,显示刚增加数据。...同一loadmoreDate方法中也对最大数据量做对应操作来推断载入数量。(默认载入5条。不足5条载入剩余)。...看下效果图: 写了这么,总的来说还是很easy确实是一个很实用效果。欢迎信息交换。

    1K10

    android上拉下拉加载更多数据

    // 用于保证startY一个完整touch事件中只被记录一次 private boolean isRecored;   private int headContentWidth...= LOADING) {   // 保证设置padding过程中,当前位置一直是head,否则如果当列表超出屏幕的话,当在上推时候,列表会同时进行滚动 // 可以松手去刷新了 if...                    }   // 还没有到达显示松开刷新时候,DONE或者是PULL_To_REFRESH状态 if (state == PULL_To_REFRESH)...);               progressBar.setVisibility(View.GONE);               tipsTextview.setVisibility(View.VISIBLE...在下拉刷新完成之后调用 mListView.onRefreshComplete(); 来隐藏掉 头部,调用 mListView.onLoadComplete(); 隐藏掉 底部加载view。

    2.5K60

    Android ListView实现下拉加载功能

    RotateAnimation reverseAnimation; private int startY; private int state; private boolean isBack; // 用于保证startY一个完整...isRecored) { isRecored = true; startY = (int) ev.getY();// 手指按下记录当前位置 } break; case MotionEvent.ACTION_UP...= LOADING) { // 保证设置padding过程中,当前位置一直是head,否则如果当列表超出屏幕的话,当在上推时候,列表会同时进行滚动 // 可以松手去刷新了 if (state...tempY - startY <= 0) {// 由松开刷新状态转变到done状态 state = DONE; changeHeaderViewByState(); } } // 还没有到达显示松开刷新时候...); lvHeaderProgressBar.setVisibility(View.GONE); lvHeaderTipsTv.setVisibility(View.VISIBLE); lvHeaderLastUpdatedTv.setVisibility

    76631

    Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能

    因此我也是放弃了在网上找现成代码想法,自己花功夫编写了一种非常简单下拉刷新实现方案,现在拿出来和大家分享一下。相信阅读完本篇文章之后,大家都可以自己项目中一分钟引入下拉刷新功能。...注意此方法是子线程中调用, 你可以不必另开线程来进行耗时操作。...之后每当手指在ListView上滑动,onTouch方法就会执行。...当ListView滚动到了最顶部,如果手指还在向下拖动,就会改变下拉头偏移值,让下拉头显示出来,下拉距离设定为手指移动距离1/2,这样才会有拉力感觉。...onRefresh方法最后,记得调用RefreshableViewfinishRefreshing方法,通知刷新结束。 从此以后,项目的任何地方,一分钟引入下拉刷新功能妥妥

    5.4K110

    Android开发笔记(六十一)文件下载管理DownloadManager

    查询下载进度 虽然下载进度可在通知栏上查看,但是有时APP自身也想了解当前下载进度,那就要调用DownloadManagerquery方法。...)广播,所以可注册该广播接收器进行相关处理,比如说跳转到该任务下载进度页面; 3、下载完成后通知栏点击事件:不同时刻点击下载任务,会触发不同事件。...后来实际开发中测试发现,DownloadManager其实比较智能,当网络一直是允许类型,任务会一直下载;当网络断开或者不在允许范围内,任务会自动暂停下载;只要网络连上或者切换到允许范围内,那么任务会自动恢复下载...另外,同一个文件被重复下载,已经下载完文件并不会被覆盖,后来下载文件会自动重命名。所以有时会发现下载下来文件名与源文件名不一致,这很可能是重复下载造成了文件重命名。...自定义进度条 文件下载和上传都经常用到进度条,可是Android自带ProgressBar无法显示进度百分比文本。

    5.1K41

    Android ListView中headerview动态显示和隐藏实现方法

    方法一 将header布局写在list item布局文件中,adapter中通过判断position值是否为0动态控制其显示或隐藏。 代码示例: item.xml布局文件 <?...然后 MyListViewAdapter.JavagetView方法中处理header显示问题,如果position为0,则显示header,隐藏普通item。...但是实际使用中发现并不是这样。...); 该方法有一点需要注意是:listView.addHeaderView()方法必须在setAdapter()方法前调用,否则就会抛异常。...); 以上两种方法各有优劣,个人倾向于第二种方法,第一种耦合性太强了,并且由于将header布局与普通item布局合在一起,另外每次显示额外增加了一次position条件判断,性能上有些额外消耗

    1.8K41

    学习|Android检测并自动下载安装包(Kotlin)

    下载完成后显示点击安装按钮进行安装,再加入一个调用TTS配置按钮进行语音设置 代码实现 DownloadHelper类 这个类是从网上找,通过AsyncTask方式实现安装包下载,加入了一个onDownloadInferface...接口实现,网上这个类是JAVA写,这里我自己用Kotlin重新写了一篇(其实复制过来可以自己转换),但是这样对自己学习Kotlin没有什么太大帮助,直接贴出代码,其中外部调用Java中静态方法直接前面加上...onFail(file: File, failInfo: String) fun onProgress(progress: Int) } } } 下载进度框...DownloadActivity文件中我们把布局文件控件加载完后直接调用DownloadHelper,并重写了相关onStart,onSuccess,onFail和onProgress事件 package...,AndroidSDK23后访问下载路径有变化了,当我们下载完成提示点击安装要注意下面的情况 ?

    1.3K10

    关于WebView 重定向行为导致多次加载问题

    使用 WebView ,我们通常会重写以下方法: shouldOverrideUrlLoading() onPageStarted() onPageFinished() 一、WebView...: onPageStarted()- onPageFinished() loadUrl()加载地址,一般不会触发shouldOverrideUrlLoading(),一旦触发了,就说明这是一个重定向地址...,就要考虑如何避免重定向行为导致多次加载问题: 设置一个Boolean全局变量flag, onPageStarted()中设置为true,若加载样式没有开启,就开启进度条等加载样式; onPageFinished...补充知识:webview多次调用onPageFinished问题 项目中遇到了webview多次调用onPageFinished问题,相关文章比较多,但是很多是无效,甚至有些需要服务器修改。...(View.GONE); m_webView.setVisibility(View.VISIBLE); } } 以上这篇关于WebView 重定向行为导致多次加载问题就是小编分享给大家全部内容了

    4.3K20

    基于VideoView自定义控制面板视频播放器

    (e1, distanceX, distanceY); } // 如果每次触摸屏幕后第一次scroll是调节进度,那之后scroll事件都处理音量进度,直到离开屏幕执行下一次操作 switch (GESTURE_FLAG...,纵向变化大则调整音量 mProgressIndicator.setVisibility(View.VISIBLE); if (Math.abs(distanceX) = Math.abs(distanceY...,尽管左上角是原点,横向向上滑动distanceY为正 if (currentBrightness < maxBrightness) {// 为避免调节过快,distanceY应大于一个设定值 currentBrightness...(Math.abs(distanceY) Math.abs(distanceX)) { // 纵向移动大于横向移动 if (distanceY = slop) { // 上滑 音量调大,注意横屏坐标体系...,尽管左上角是原点,横向向上滑动distanceY为正 if (currentVolume < maxVolume) {// 为避免调节过快,distanceY应大于一个设定值 currentVolume

    2.1K20

    安卓入门-第三章-安卓常用控件使用方式

    它主要用于界面上显示一段文本信息,比如你第1章看到“Hello world!”。下面我们就来看一看关于TextView更多用法。...可以看到,EditText中显示了一段提示性文本,然后当我们输入任何内容,这段文本就会自动消失。  不过,随着输入内容不断增多,EditText会被不断地拉长。...,传入数据为:View.VISIBLE 、View.INVISIBLE 和View.GONE style 控制进度条格式,默认进度条为动态环形,可以改为拖动条 android:max 用于给拖动条设置最大大小...,调用活动方法就能改变拖动条的当前值,达到最大值,拖动条相当于就到了100%  ProgressBar用于界面上显示一个进度条,表示我们程序正在加载一些数据。...我们还可以通过代码来设置控件可见性,使用是setVisibility() 方法,可以传入View.VISIBLE 、View.INVISIBLE 和View.GONE 这3种值。

    1.8K20

    2.ui

    通过 android:maxLines指定 EditText最大行数为两行,这样当输入内容超过两行时,文本就会向上滚动,而 EditText则不会再继续拉伸 如何才能让进度条在数据加载完成消失呢?...我们还可以通过代码来设置控件可见性,使用是setVisibility()方法,可以传入 View.VISIBLE、View.INVISIBLE和 View.GONE三种值。...一个是从里往外撑,一个是从外往里撑 ScrollView ScrollView滚动视图是指当拥有很多内容,屏幕显示不完,需要通过滚动跳来显示视图。ScrollView只支持垂直滚动。...虽然现在已经不会再重复去加载布局,但是每次getView()方法中还是会调用ViewfindViewById()方法来获取一次控件实例。...View.GONE) {progressBar.setVisibility(View.VISIBLE);} else {progressBar.setVisibility(View.GONE);}break

    1.6K90
    领券