问题标签 [android-asynctask]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1010 浏览

android - AsyncTask:onPostExecute 是否保证在所有调用 onProgressUpdate 后运行?

我想知道是否有可能在被呼叫AsyncTask#onProgressUpdate后获得“剩余”呼叫AsyncTask#onPostExecute?我正在TextView使用它们设置相同的文本,并且我不想设置诸如“完成!”之类的文本。然后稍后用诸如“几乎那里 - 90%”之类的文本覆盖它

此外,我假设该onProgressUpdate方法的工作方式类似于一个SwingWorker方法,因为多个调用publishProgress可能会在调用发生之前堆积起来onProgressUpdate。我真的很想知道参数上的“较新”和“较旧”进度更新在哪里 - 也就是参数中位置 0 或位置的最新更新progress.length

0 投票
2 回答
1433 浏览

android - 在 AsyncTask 类中设置 ListView 时出现问题

我想将 ListView 设置为从 Web 服务获取的数据。我在 AsyncTask 实例中获取数据,但是当我尝试设置一些 ListView 属性时,它崩溃了(在线“lv.setVisibility(View.VISIBLE);”)。有人可以帮忙吗?

谢谢

0 投票
3 回答
27192 浏览

java - listview [Android] 上的异步图像加载器

我在为以下代码实现异步图像加载器时遇到问题。我在网上阅读了一些关于它的帖子,我想我理解它背后的逻辑,但我似乎未能实现它。

下面的代码是我用来简单地在我的列表视图中加载图像的代码。

0 投票
1 回答
3967 浏览

android - Use AsyncTask to add items to list view individually

I am trying to add ListView items one by one. So if I have say -- 60 items -- the application would add the views to the list view one at a time -- thus showing the user that the application is loading more things.

This is my code:

So, it looks like my code is printing out the views correctly, and putting them in the list correctly, however my activity displays nothing. What am I doing wrong? I thought setting the adapter before -- when there are no views in the list -- and then updating the adapter that the list was changed was the right way to go.... Obviously not.. Can anyone help me?

If you need clarification on my questions please let me know.

EDIT: Here is the adapter code to supplement my question.

My output doesn't output any of my Log.v statements, and doesn't show that its even inside the GetView method.

0 投票
1 回答
615 浏览

android - Android 应用程序可在 WiFi、调试模式或模拟器上运行,而不是在蜂窝网络上运行

我有一个解析一些 HTML、下载图像并显示它的 android 应用程序。我正在使用一个AsyncTask来进行 HTML 解析和图像下载,但这不应该是相关的。当我在手机上使用 WiFi、在手机上使用 Eclipse 调试器或使用模拟器时,我从来没有遇到过问题。当我将手机连接到蜂窝网络时(即使接收效果很好),图像有时无法显示。

我很难找出问题所在,因为无法在调试器中重现该问题。有谁知道可能出了什么问题?

谢谢!

更新:我已将其范围缩小到图像下载功能。这样我的原始代码:

我也尝试过使用本教程中的代码,但出现了同样的错误。

http://www.devx.com/wireless/Article/39810/1954

在这一点上,我认为这一定与 Verizon 有关,但我不确定如何弄清楚发生了什么。我希望有类似 Wireshark for Android 的东西。我已经将我的代码提供给了我在 T-Mobile 上使用 G1 的朋友和在 Sprint 上使用 EVO 的朋友。我在 Verizon 上有 Droid Eris。

0 投票
6 回答
88027 浏览

android - 服务、异步任务和线程之间的区别?

服务、异步任务和线程之间有什么区别。如果我没记错的话,他们都习惯于在后台做一些事情。那么,如何决定使用哪个以及何时使用?

0 投票
2 回答
2993 浏览

android - AsyncTask 不是通用的?

当我尝试编译为以下代码时,出现两个错误:

描述资源路径位置类型令牌“void”上的语法错误,无效表达式AsyncTask.java /AsyncTask Project/src/org/me/asynctask第 19 行 Java 问题

描述 资源路径位置类型 类型AsyncTask不是通用的;它不能用参数<TextView, Void, Void> AsyncTask.java /AsyncTask Project/src/org/me/asynctask第 25 行 Java 问题进行参数化

显然AsyncTask是通用的(http://developer.android.com/reference/android/os/AsyncTask.html#execute(Params...) 那么为什么我会收到这些错误?

0 投票
6 回答
54621 浏览

android - CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能接触视图

我在 Android 中遇到以下错误:

CalledFromWrongThreadException;:只有创建视图层次结构的原始线程才能接触其视图

当我尝试在我的 Activity 中更新 Textview 时似乎会发生这种情况,更新 TextView 的调用来自我的 Activity,但我仍然收到上述错误。

我有这样的:

onCreate() - 设置按钮和文本视图。

onStateChange() - 状态更改通知的侦听器,如果更改 TextView 以说出一些不同的文本,则会收到通知。

当我收到新文本的通知时,我尝试将 TextView 更改为:

但我得到了上述错误。

通过谷歌搜索,看来我应该使用处理程序来更改 TextView 或者使用 AsyncTask?

谁能解释哪一个更好用,为什么?

编辑:添加代码片段:




0 投票
1 回答
2472 浏览

android - 从 AsyncTask 返回数据导致空指针错误

我正在尝试做我认为在我的服务器上对用户进行身份验证的相当简单的任务。我使用 AsyncTask 作为我的 Activity 的私有子类,但是当我在验证后尝试填充用户对象时,它一直将其设置为 null。导致这种情况的 onPostExecute() 方法的调用方式有什么奇怪的吗?我最初将 AsyncTask 作为自己的类,但遇到了同样的问题,所以我尝试使用私有子类来解决这个问题。有什么帮助吗?谢谢。

这是我的代码:

0 投票
3 回答
30744 浏览

android - Android中AsyncTask的通用类?

我有一个通用类,例如 A 类,它扩展AsyncTask并实现了所有方法,即onPreExecute,doinbackgroundonPostExecute.

现在,还有其他类想要使用 A 类对象。

说 B 类以下列方式使用 A 类

然后我在 get 方法中获取结果。但是 get 方法不是使用 AsyncTask 的正确方法。我想得到结果onPostExecute。为此,我尝试使用一个布尔参数,该参数仅在onpostexecute. B 类将检查直到它变为真,当它变为真时它将获取结果。

但这以某种方式阻止了应用程序。

我已将 asynctask 的代码放在下面。

'

'

有人可以让我知道问题可能是什么吗?

问候

苏尼尔