热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android开发分享AsyncTaskonPostExecute永远不会被调用

我不知道我在做什么错,&#

我不知道我在做什么错,但onPostExecute永远不会被调用。

onPreExecute(),doInBackground(..)被触发,但由于某种原因,onPostExecute永远不会被调用。

先谢谢你!

戴夫

%ignore_pre_1%

更多地看,这是我能够观察到的。 例如,如果我把这个电话:

  new PostToOpenFeint.execute(); 

在onCreate活动后,一切正常。 如果我把这个调用放在一个button监听器里面。

 settingsButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { new PostToOpenFeint.execute(); } }); 

onPostExecute()永远不会被调用,不知道我做错了什么。 我读的限制是从UI线程调用这个,我从UI线程调用它。

    我刚才有一个类似的问题。 我正在扩展AsyncTask和我的onPostExecute方法看起来像这样:

     protected void onPostExecute(int result) 

    这对我来说似乎是可以的,但是我再次是一个.NET人,而不是Java人。 我把它改成:

     protected void onPostExecute(Integer result) 

    因为Java认为intInteger有区别吗?

    我认为你的问题是你声明返回types为void在你的:

     extends 

    这意味着没有参数,没有进展,没有结果。 如果你想在执行的时候执行一些东西,我认为你需要给它一些类似于整数或布尔值的值。

    如果你改变你的延伸到:

      

    现在你没有任何参数,没有发表任何进展,但正在返回一个价值。 改变你的onPostExecute方法来接受一个Integer

     protected void onPostExecute(Integer result) 

    然后将doInBackground方法中的返回更改为如下所示的内容:

     return 1; 

    那么它应该为你执行。

    还有一个关于AsyncTasks的问题,我刚刚花了半天的时间:

    AsyncTask类必须在UI线程上加载。 这从JELLY_BEAN自动完成。

    说文档。 在姜饼(可能之前),给出正确的情况下,这导致onPostExecute不运行。 然而,解决scheme很简单,只是一个

     new MyAsyncTask(); 

    在UI线程的早期,所以在后台的任何东西可能会无意中加载它的类加载。

    我在后台线程的AsyncTask子类中使用了一个静态函数,根据时间的不同,在UI线程上的任何东西都使用了AsyncTask子类,宾果,一个很好的Heisenbug。

    (忍受我回答这个老问题,已经回答了问题,但是我没有发现任何信息的珍闻,这是​​我的第一篇文章)

    请注意,如果您通过cancel()取消任务 ,则不会调用onPostExecute() 。 非常合乎逻辑,但只是忽略了对这种方法的呼叫让我难住了。

    我的问题是,我没有@Override onPostExecute方法正确。 我通过单击鼠标右键 – >源 – >覆盖实施方法来解决这个问题。

    希望它可以帮助别人

    也许doInBackground()中的代码永远不会返回?

    只需将此代码添加到您的活动。 它的asynchronous任务的问题不正确地初始化,因为它应该做的。

      try { Class.forName("android.os.AsyncTask"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

    只需更改onPostExecute中的参数

     @Override protected void onPostExecute(Void unused) { ...} 

    现在该方法应该被调用。

    只需使用onPostExecute中的正确参数,使用public void onPostExecute(Boolean response){}而不是public void onPostExecute(boolean response){}解决了我的问题

    以上就是android开发分享AsyncTask onPostExecute永远不会被调用相关内容,想了解更多android开发(异常处理)及android游戏开发关注(编程笔记)。


      推荐阅读
      • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
      • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
      • android listview OnItemClickListener失效原因
        最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
      • 如何使用Java获取服务器硬件信息和磁盘负载率
        本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
      • 本文讲述了如何通过代码在Android中更改Recycler视图项的背景颜色。通过在onBindViewHolder方法中设置条件判断,可以实现根据条件改变背景颜色的效果。同时,还介绍了如何修改底部边框颜色以及提供了RecyclerView Fragment layout.xml和项目布局文件的示例代码。 ... [详细]
      • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
      • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
      • 知识图谱——机器大脑中的知识库
        本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
      • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
      • XML介绍与使用的概述及标签规则
        本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
      • 《数据结构》学习笔记3——串匹配算法性能评估
        本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
      • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
        转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
      • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
        本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
      • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
        本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
      • C#多线程解决界面卡死问题的完美解决方案
        当界面需要在程序运行中不断更新数据时,使用多线程可以解决界面卡死的问题。一个主线程创建界面,使用一个子线程执行程序并更新主界面,可以避免卡死现象。本文分享了一个例子,供大家参考。 ... [详细]
      author-avatar
      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有