我目前正在使用AsyncTask进行API调用并使用数据填充列表。 我有一个子菜单,其项目可以调用AsyncTask来填充数据,问题是如果我快速点击我最终得到合并结果显然会导致AsyncTask彼此同时运行。
处理这种情况的最佳方法是什么?对不起,如果这是一个业余问题。
答案 0 :(得分:1)
我会使用ProgressDialog
来表示正在更新内容,并在更新完成后dismiss()
对话框。发生这种情况时,您应该确保不接受ListView
上的触摸输入。 (当ProgressDialog
在前面时,默认情况可能会发生,我现在还不记得......)
看一下这个link的例子。
答案 1 :(得分:0)
您一次只能配置一个Asynch任务。 一个布尔变量,一旦异步任务开始就设置为true,并在完成后立即设置为false。
下一次调用可以等待将其设置为false。您还可以对最小时间进行速率限制,之后只有使API调用有意义。