Android 怎么用?在AsyncTask内创建AlertDialog,然后使用结果继续执行任务

Android 怎么用?在AsyncTask内创建AlertDialog,然后使用结果继续执行任务,android,android-studio,Android,Android Studio,这就是我应该做的,首先,当用户按下一个按钮时,会弹出一个AlertDialog,要求用户输入一些内容,然后我从用户那里得到字符串并继续在internet上搜索它,这应该在异步任务中完成。到目前为止还不错,我没有任何问题。但让我困惑的是,可能有多个结果,我需要弹出一个新的AlertDialog,显示我找到的所有结果,然后让用户选择一个特定的结果。我知道这应该在主线程上完成,但我没有问题,但问题是,如何获得用户选择的东西,并使用它继续我的异步任务 谢谢大家! 我想你需要的是 在警报对话框中,添加一个

这就是我应该做的,首先,当用户按下一个按钮时,会弹出一个AlertDialog,要求用户输入一些内容,然后我从用户那里得到字符串并继续在internet上搜索它,这应该在异步任务中完成。到目前为止还不错,我没有任何问题。但让我困惑的是,可能有多个结果,我需要弹出一个新的AlertDialog,显示我找到的所有结果,然后让用户选择一个特定的结果。我知道这应该在主线程上完成,但我没有问题,但问题是,如何获得用户选择的东西,并使用它继续我的异步任务


谢谢大家!

我想你需要的是

在警报对话框中,添加一个

每当文本在TextWatcher中更改时调用Asynctask并更新AutoCompleteTexView的适配器

好消息是AutoCompleteTexView自带了内置的建议列表和监听器。以便您可以选择用户单击的项目

如果您的搜索结果不止是一个字符串,那么您可能必须使用自定义适配器和自定义筛选器


希望这能有所帮助。

根据我的理解,一旦得到结果,然后通过传递resultsThank@AdnanMomin再次调用相同的异步任务,但是,如果我再次调用相同的异步任务,让我们将其称为task2和当前的AsyncTask task1,task1会在task2返回后继续运行吗?因为如果是,task1将返回一个null对象并导致一些问题。或者我应该向AsyncTask中添加语句来处理“null”情况?一旦得到结果,那么在
onPostExecute()
中,您可以使用结果再次调用异步任务。在调用任务之前,在
onPostExecute()
中,您只需检查要调用还是不要调用的条件。@AdnanMomin谢谢!我是这样做的,而且很有效,实际上很简单,我不知道为什么它让我花了这么多小时。非常感谢你!请你投我一票好吗!我现在就去试试