在做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...相关推荐

  1. Android ListView下拉刷新时卡的问题解决小技巧

    问题:ListView下拉刷新时看上去非常的卡 解决方案: 在BaseAdapter的getView方法中,有三个参数 public View getView(int position, View c ...

  2. Android自定义控件实战——实现仿IOS下拉刷新上拉加载 PullToRefreshLayout

    下拉刷新控件,网上有很多版本,有自定义Layout布局的,也有封装控件的,各种实现方式的都有.但是很少有人告诉你具体如何实现的,今天我们就来一步步实现自己封装的 PullToRefreshLayout ...

  3. android解决ScrollView嵌套ListView不能下拉刷新

    为了不误导新人,这篇帖子写的比较早了,这里2016年2月23日21:33:20更新的内容: 千万不要在实际开发中用scrollview嵌套listview\recylerview来处理滑动嵌套,   ...

  4. Android高仿京东、天猫下拉刷新

    说到下拉刷新,相信大家都不陌生,现在基本上每个项目都会用到.我们公司的项目一直都是使用SwipeRefreshLayout,官方的Material Design风格,好用少Bug.现在下拉刷新大概有下 ...

  5. android 文字fly动画,超好看的下拉刷新动画Android代码实现

    最近看到了好多高端.大气.上档次的动画效果,如果给你的项目中加上这些动画,相信你的app一定很优秀,今天给大家分析一下来自Yalantis的一个超好看的下拉刷新动画. 首先我们看一下效果如何: 怎么样 ...

  6. 【Android归纳】基于XListView的下拉刷新、上拉加载更多的控件分析

    目录 前言 功能介绍 总体设计 组成 类关系图 详细设计 XlistViewHeader原理分析 XListViewFooter原理分析 XListView原理分析 代码带注释下载 目录 前言 如果你 ...

  7. 提供一个Android原生的Progress——SwipeToRefreshLayout下拉刷新时的等待动画

    先来上个图看看效果: 这里我为什么要单独把这个拿出来呢,因为最近才开始接触Android最新的东西,也就是5.0以上的东西,发现Android提供的SwipeToRefreshLayout是没有上拉加 ...

  8. android 下拉刷新监听,说说在 Android 的 RecyclerView 中如何实现下拉刷新

    1 SwipeRefreshLayout 修改布局文件,新增 SwipeRefreshLayout :<?xml  version="1.0" encoding=" ...

  9. Android模仿新浪微博(自定义ListView下拉刷新)

    自定义PullToRefreshListView继承ListView,在ListView头部添加一个下拉的头部布局.跟ListView用法完全一致. 该自定义Listview代码详解具体可参考: ht ...

  10. 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 ...

最新文章

  1. JavaScript小记
  2. 介绍一款facebook信息收集工具FBI
  3. MySQL免安装版配置教程
  4. Kettle使用_14 文件操作复制移动删除结合JS
  5. UIButton的竖排图片和文本
  6. 命令orapwd的学习
  7. 人工智障学习笔记——强化学习(4)时间差分方法
  8. HDU2500 做一个正气的杭电人【水题】
  9. Solidworks常用技巧
  10. 细说static关键字及其应用
  11. 笔记之STM32F072CBT6芯片的串口高级功能之反相配置问题(HAL库)
  12. Renascence的C++笔记
  13. php 邮件服务器 群发,发送使用PHP群发电子邮件发送使用PHP群发电子邮件(Sending mass email usin...
  14. 常见的面试问题————NLP篇(持续更新)
  15. dell屏幕亮度调节不了_Win10屏幕亮度调不了怎么办-百度经验
  16. 火车头采集翻页内容_火车头采集器教程:使用分页采集有分页的数据
  17. 传智播客成都java培训中心7月8号基础班开班啦
  18. 电商扣减库存_电商之购物车
  19. 使用Wireshark抓取淘宝直播回放源地址并下载
  20. 计算机毕业设计 SSM驾校预约培训管理系统(源码+论文)

热门文章

  1. centos 用户和组的相关命令
  2. 會議管理系統--項目總結
  3. RPi 2B Raspbian system install
  4. 批处理禁用U盘,光驱,用户添加到组,盘符添加权限
  5. java tostring 库_JavaBean toString() – 将bean对象打印成字符串
  6. 按键精灵手机mysql_mysql,按键精灵,读取写入
  7. 计算机能力挑战赛_全国高校计算机能力挑战赛(基于tensorflow+python+opencv)!
  8. 常用类字符串详解大全String
  9. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver,网页一直处于加载中,servlet+html+js+css项目难题解决
  10. php伪静态后301,php伪静态htaccess实现301重定向方法