前阵子有个需求,一个显示视频的listview,每个item中包含点播次数,点击一次立即加1,并动态显示在界面上。看了好多资料,拜读了很多帖子,也试了很多方法,用notifyDataSetChanged()都不行。看到优酷客户端(塞班系统的)也不能更新次数,本来都泄气了,结果被论坛里一个牛人说:“你很强,研究出来分享下”,硬着头皮上呗。但我觉得理论上肯定是可以实现的,经过艰苦卓绝的尝试,终于皇天不负有心人。现在和大家分享一下经验,相信一定对很多人的应用有用,也欢迎大家拍砖。
1.在点击item的监听程序onItemClick()中调用播放方法并加1,发送消息给handler更新次数
private void updatePalyNum(final int position) {
new Thread() {
public void run() {
try {
boolean updateFlag = videoWS.updateData(getString(R.string.WSURL_update),newsList.get(position).getVideoID());
if(updateFlag){
int playNum=Integer.parseInt(newsList.get(position).getPlayNum());
playNum++;
newsList.get(position).setPlayNum(playNum+"");
Uri uri = Uri.parse(newsList.get(position).getUrl());
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
intent.setType("video/*");
intent.setDataAndType(uri , "video/*");
startActivity(intent);
Thread.sleep(400);
handler.sendEmptyMessage(5);
}
}catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
}
2.handler处理刷新listview
case 5:
listAdapter=null;
listView.setAdapter(getAdapter(newsList));
break;
这个方法我不知道是不是正规,希望高手指点。另外还有一点问题就是每次重新加载都是在第一页,如果当时您不在第一页播放的话播放完回来就找不着北了,不过这个问题理论上也是可以解决的。
分享到:
相关推荐
android 实现listview动态下拉刷新,动态加载数据 可以避免一次数据加载过多
在Android的ListView中动态添加数据
listview实现动态加载数据,值得学习
ListView动态加载刷新
ListView添加数据后动态刷新Demo
C#中向listView中动态插入数据,代码清晰,看了你就明白了,希望对你有帮助。
Android_ListView动态刷新
ListView的下拉刷新和上拉加载数据
Android中ListView用NotifyDataSetChanged实现添加数据时动态刷新
ListView动态加载数据分页,使用Handler+线程和AsyncTask两种方法
android中ListView实现下拉上拉刷新数据
ListView下拉刷新 ListView下拉刷新ListView下拉刷新ListView下拉刷新
Listview不用notifydatasetchanged更新数据的方法
android ListView 动态追加数据 显示追加进度
适合基础巩固学习 解析服务器json数据 ListView列表上拉加载 下拉刷新 自己做的程序 解释很全 经过验证 绝对运行成功 学习的好例子 希望对您有绝对的好帮助
Listview顶部松开即可刷新数据效果,类似新浪微博,人人等android客户端刷新数据效果。该源码希望能帮上有需要的朋友。
解决了listview刷新后重绘的闪烁,用此方法后,不再闪烁。
android开发的listview下拉刷新加载数据
友们在使用ListView的过程中,是否考虑过加载大量的数据时,如何提高显示速度? 朋友你是不是也想对其优化,形成动态加载? 如果你也有过这样的想法,那么我们是同路人! 通过查看ListView的API,我们似乎找不...
里面包含两个demo,DownLoading这个工程是关于listview下拉刷新,动态加载数据 ...然后spinnerDemo1这个工程是spinner与listview的嵌套并用,当点击spinner中的不同选项时,动态刷新listview里的数据