
我有一个asynctask在其自己的活动中.我给它传递了一个字符串值,它连接到我的Web服务,并根据传递的名称下载Json数据,并返回Json结果集.效果很好.
我想向asynctask添加进度微调器,但是我对如何做到这一点感到困惑.我仔细阅读了这个博客以及许多其他博客,但尽管相距甚远,但尚未找到解决方案.似乎我要么需要在Activity类中使用asynctask来获取上下文,要么我必须将上下文作为参数传递-但我需要输入参数为String.我已经读过有关构建一个可以容纳String和Context参数的对象的可能性,但是我对Java还是很陌生,不知道如何构建这样的对象,也没有找到关于如何这样做.因此,当X是我需要知道的内容时,通常会有一个解释恰好满足我的需求,然后说:“ …然后您执行X,仅此而已”.
我想要的只是一个旋转的东西,在下载发生时旋转.没有文字,没有对话,只是一个微调器.
解决方法:
在您要初始化AsyncTask的Activity的布局中添加一个Progressbar(实际上就是它的名字,Spinners就像Android中的下拉菜单一样).
然后创建两个函数startProgress()和stopProgress(),以启动和停止进度栏.
通过在初始化或执行期间发送活动,或在asyncTask setActivity(MyActivity活动)中创建一个函数,为AsyncTask提供对Activity的引用,并在AsyncTask初始化和执行之间调用它.
重写AsyncTask的onPreExecute()来调用activity.startProgress(),并重写onPostExecute()来调用activity.stopProgress().
编辑:您也可以尝试在AsyncTask的构造函数中传递对Progressbar的引用.在您的活动的onCreate()方法中获取对Progressbar的引用,然后将其添加到AsyncTask构造函数中.在AsyncTask的onPreExecute()和onPostExecute()方法中,相应地启动和停止进度条.
总结以上是内存溢出为你收集整理的android-如何将进度条添加到独立的Asynctask?全部内容,希望文章能够帮你解决android-如何将进度条添加到独立的Asynctask?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)