首页
学习
活动
专区
工具
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学习笔记----WebView的url跳转时方法执行顺序体会

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

86310

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绑定很多其它的数据。通过adapter的notifyDataSetChanged方法通知listview刷新,显示刚增加的数据。...同一时候在loadmoreDate方法中也对最大数据量做对应的操作来推断载入数量。(默认载入5条。不足5条时载入剩余的)。...看下效果图: 写了这么的,总的来说还是很easy的,但确实是一个很实用的效果。欢迎信息交换。

    1.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上滑动时,onTouch方法就会执行。...当ListView滚动到了最顶部时,如果手指还在向下拖动,就会改变下拉头的偏移值,让下拉头显示出来,下拉的距离设定为手指移动距离的1/2,这样才会有拉力的感觉。...在onRefresh方法的最后,记得调用RefreshableView的finishRefreshing方法,通知刷新结束。 从此以后,在项目的任何地方,一分钟引入下拉刷新功能妥妥的。

    5.4K110

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

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

    5.3K51

    学习|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...,在Android的SDK23后访问下载路径有变化了,当我们下载完成提示点击安装时要注意下面的情况 ?

    1.4K10

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

    它主要用于在界面上显示一段文本信息,比如你在第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.9K20

    2.ui

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

    1.6K90

    【译】Android技术栈,1#架构

    这种设计试图抽象Presentation层的业务逻辑,在Android中这是很重要的,因为自身Framework 提倡这两部分与数据层解耦合,一个明显的例子就是Adapters和CursorLoaders...它与执行usecase的Domain进行交互,比如可以用来获取某一时段的电影列表,或者从某部电影中获取特殊的数据。 这个模块只包含Presenter和View。...每一个Activity,Fragment,Dialog都实现MVPView接口,它指定了一些在View上进行显示,隐藏,显示信息等操作。...); } ... } 这个usecase通过Presenter调用,并且Presenter接收相应结果,然后处理View上的表现。...当View调用onCreate()方法时,Presenter订阅UI_BUS接收事件。当onStop()方法被调用的时候Presenter取消订阅。

    45330
    领券