android runtime异常,在做android下拉刷新时遇到异常java.lang.RuntimeException: Can't create handle...
在做fragment的下拉刷新时遇到异常
java.lang.RuntimeException: Can't create handler inside thread
that has not called Looper.prepare()
fragment中的动作是:打开fragment立即进行异步任务--下拉刷新时再次调用异步任务,直接调用会出现以上的异常
方法一
原因是不能在主线程以外的线程里创建AsynTask实例
添加 Looper.prepare();这句后问题解决
refreshableView.setOnRefreshListener(new PullToRefreshListener() {
@Override
public void onRefresh() {
try {
Thread.sleep(3000);
Looper.prepare();// 添加这句后正常运行
InfoList.clear();
refreshFragment();
} catch (InterruptedException e) {
e.printStackTrace();
}
refreshableView.finishRefreshing();
}
}, 0);
方法二
由于下拉刷新的代码里也有异步任务,所以出现上面的异常的原因是:用下拉刷新里的异步任务AsyncTask去调用另一个更新数据的AsyncTask,所以就抛出上面的异常。找到问题后,就可以对症下药了。
解决方法:
把获取数据的代码放到下拉刷新里执行就行了,因为“下拉刷新”本来就是一个异步任务,这样便不会出现异步任务调用异步任务的问题了
代码修改成这样
refreshableView.setOnRefreshListener(new PullToRefreshListener() {
@Override
public void onRefresh() {
try {
Thread.sleep(3000);
// Looper.prepare();//
List> n_list= new ArrayList>();
try {
//获取数据的代码从异步任务里放出来
n_list=JsoupUtil.getJWCNews("http://jwcweb.jnu.edu.cn/index-new.asp");
setNewsList(n_list);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
refreshableView.finishRefreshing();
}
}, 0);
android runtime异常,在做android下拉刷新时遇到异常java.lang.RuntimeException: Can't create handle...相关推荐
- Android ListView下拉刷新时卡的问题解决小技巧
问题:ListView下拉刷新时看上去非常的卡 解决方案: 在BaseAdapter的getView方法中,有三个参数 public View getView(int position, View c ...
- Android自定义控件实战——实现仿IOS下拉刷新上拉加载 PullToRefreshLayout
下拉刷新控件,网上有很多版本,有自定义Layout布局的,也有封装控件的,各种实现方式的都有.但是很少有人告诉你具体如何实现的,今天我们就来一步步实现自己封装的 PullToRefreshLayout ...
- android解决ScrollView嵌套ListView不能下拉刷新
为了不误导新人,这篇帖子写的比较早了,这里2016年2月23日21:33:20更新的内容: 千万不要在实际开发中用scrollview嵌套listview\recylerview来处理滑动嵌套, ...
- Android高仿京东、天猫下拉刷新
说到下拉刷新,相信大家都不陌生,现在基本上每个项目都会用到.我们公司的项目一直都是使用SwipeRefreshLayout,官方的Material Design风格,好用少Bug.现在下拉刷新大概有下 ...
- android 文字fly动画,超好看的下拉刷新动画Android代码实现
最近看到了好多高端.大气.上档次的动画效果,如果给你的项目中加上这些动画,相信你的app一定很优秀,今天给大家分析一下来自Yalantis的一个超好看的下拉刷新动画. 首先我们看一下效果如何: 怎么样 ...
- 【Android归纳】基于XListView的下拉刷新、上拉加载更多的控件分析
目录 前言 功能介绍 总体设计 组成 类关系图 详细设计 XlistViewHeader原理分析 XListViewFooter原理分析 XListView原理分析 代码带注释下载 目录 前言 如果你 ...
- 提供一个Android原生的Progress——SwipeToRefreshLayout下拉刷新时的等待动画
先来上个图看看效果: 这里我为什么要单独把这个拿出来呢,因为最近才开始接触Android最新的东西,也就是5.0以上的东西,发现Android提供的SwipeToRefreshLayout是没有上拉加 ...
- android 下拉刷新监听,说说在 Android 的 RecyclerView 中如何实现下拉刷新
1 SwipeRefreshLayout 修改布局文件,新增 SwipeRefreshLayout :<?xml version="1.0" encoding=" ...
- Android模仿新浪微博(自定义ListView下拉刷新)
自定义PullToRefreshListView继承ListView,在ListView头部添加一个下拉的头部布局.跟ListView用法完全一致. 该自定义Listview代码详解具体可参考: ht ...
- Android --- java.lang.RuntimeException: Can‘t create handler inside thread that has not called Loop
报错信息如下: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.pr ...
最新文章
- JavaScript小记
- 介绍一款facebook信息收集工具FBI
- MySQL免安装版配置教程
- Kettle使用_14 文件操作复制移动删除结合JS
- UIButton的竖排图片和文本
- 命令orapwd的学习
- 人工智障学习笔记——强化学习(4)时间差分方法
- HDU2500 做一个正气的杭电人【水题】
- Solidworks常用技巧
- 细说static关键字及其应用
- 笔记之STM32F072CBT6芯片的串口高级功能之反相配置问题(HAL库)
- Renascence的C++笔记
- php 邮件服务器 群发,发送使用PHP群发电子邮件发送使用PHP群发电子邮件(Sending mass email usin...
- 常见的面试问题————NLP篇(持续更新)
- dell屏幕亮度调节不了_Win10屏幕亮度调不了怎么办-百度经验
- 火车头采集翻页内容_火车头采集器教程:使用分页采集有分页的数据
- 传智播客成都java培训中心7月8号基础班开班啦
- 电商扣减库存_电商之购物车
- 使用Wireshark抓取淘宝直播回放源地址并下载
- 计算机毕业设计 SSM驾校预约培训管理系统(源码+论文)
热门文章
- centos 用户和组的相关命令
- 會議管理系統--項目總結
- RPi 2B Raspbian system install
- 批处理禁用U盘,光驱,用户添加到组,盘符添加权限
- java tostring 库_JavaBean toString() – 将bean对象打印成字符串
- 按键精灵手机mysql_mysql,按键精灵,读取写入
- 计算机能力挑战赛_全国高校计算机能力挑战赛(基于tensorflow+python+opencv)!
- 常用类字符串详解大全String
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver,网页一直处于加载中,servlet+html+js+css项目难题解决
- php伪静态后301,php伪静态htaccess实现301重定向方法