Android开发:请问怎么在activity里新的线程里取到progressbar,如下图:
activity里有listview,ListView的每个item都是一个layout布局,这个布局里有个frameLayout,frameLayout里有progre...
activity里有listview,ListView的每个item都是一个layout布局,这个布局里有个frameLayout,frameLayout里有progressbar,如何在activity里的一个thread里面取到这个progressbar
如下图:
试了好多种方法都取不到啊 展开
如下图:
试了好多种方法都取不到啊 展开
3个回答
展开全部
在getView里面获取progressbar。
比如你有个上传进度progress在你的adapter的item里面,你可以通过设置progress,然后调用adapter.notifyDatasetChanged()的方法来调用getView,在getView里面根据progress的值来操作progressbar。
另外推荐使用RecyclerView来代替ListView。
比如你有个上传进度progress在你的adapter的item里面,你可以通过设置progress,然后调用adapter.notifyDatasetChanged()的方法来调用getView,在getView里面根据progress的值来操作progressbar。
另外推荐使用RecyclerView来代替ListView。
更多追问追答
追问
设置progress在哪里设置?怎么设置?没理解你的意思
追答
//比如这样,上传图片时有个上传进度的回调接口
public void onUploadImage(int progress, int position){
//AdapterItem是你的ListView的Adapter中的数据集,里面可能有一个progress的用于显示进度
AdapterItem item = adapter.getItem(position);
if(item != null){
item.setProgress(progress)
}
//adapter提供一个方法,用于将position上的item替换掉
adapter.setItem(item, position);
adapter.notifyDatasetChanged();
}
//然后adapter的getView里面,获取到对应位置的progressbar和AdapterItem的实例item
progressBar.setProgress(item.getProgresss());
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
安卓平台除了UI线程,其他线程是不能直接操作UI的,而是要通过发送消息通知UI线程去更新。
追问
我只要取到这个progressbar,操作我在一个handler里处理的,关键是取不到这个progressbar啊
追答
你可以在Activity初始化的时候,将ProgressBar的引用保存到该Activity的一个成员变量。
------
不过你的item是多个,这个貌似不合理。
------
getItem获取得到Item的视图item,然后item.findViewById(R.id.itemProgressBar)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-02-28 · 知道合伙人软件行家
关注
展开全部
你要从adapter中获取这个Item对象
更多追问追答
追问
就是要取到item中的那个progressBar,然后操作这个progressBar
追答
这个太简单了,留下QQ吧,我远程帮你弄
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询