Android将ArrayList的AsyncTask返回放入Intent

Android将ArrayList的AsyncTask返回放入Intent,android,android-intent,arraylist,android-asynctask,Android,Android Intent,Arraylist,Android Asynctask,我有一个AsyncTask,它可以做一些事情,但它所做的一切都是返回一些信息。我正在想办法把它变成一个意图。它返回一个ArrayList 如果我能创建一个ArrayList并将其设置为new QuizWorker().execute(url),但它不允许我这么做。(QuizWorker()是AsyncTask,它返回一个ArrayList。)在async onPostExecute方法中,获取数组列表并将其作为以下内容传递给活动: ((YourActivity)context).passData

我有一个AsyncTask,它可以做一些事情,但它所做的一切都是返回一些信息。我正在想办法把它变成一个意图。它返回一个
ArrayList


如果我能创建一个ArrayList并将其设置为
new QuizWorker().execute(url),但它不允许我这么做。(QuizWorker()是AsyncTask,它返回一个ArrayList。)

在async onPostExecute方法中,获取数组列表并将其作为以下内容传递给活动:

((YourActivity)context).passData(result); // where result is the arraylist
在activity类中,创建passData方法并接收数据,在该方法中启动intent。 您必须在数组列表的对象类型上实现Parcelable,才能将其传递给另一个活动


希望有帮助

将您的意图放在postexecute方法中

Intent intent = new Intent(MainActivity.this,TriviaActivity.class);
intent.putParcelableArrayListExtra(QUESTION_KEY,"value");

谢谢你的快速回复!这很有帮助。在onCreate中的
main活动中,我会使用方法passData(arraylistresult){}
?我将如何声明参数,因为当前它想给我一个错误。谢谢否此方法将在onCreate之外,但在同一活动中为“是”,同时将活动的上下文作为参数传递给异步任务,以便您可以在异步任务中访问它。该方法将是公开的,但我认为总的来说,这不会解决我的问题,因为AsyncTask在应用程序首次启动时运行,但我不想在用户单击按钮之前启动Intent。但一旦完成,您可以将数据从async接收到您的活动中,在点击按钮的过程中,检查活动中的数据对象是否为null,如果不是null,则启动活动。我制作了一个全局数组列表,并说它等于结果,它允许我随时使用它。所以我认为这对我来说很有效。url的类型是什么??形式参数和实际参数之间存在不匹配。检查AsyncTask的第一个通用类型。
url
是一个字符串,但这很好,它都可以工作。我只需要设置
newquizworker()的
return
相当于某种类型的东西,比如ArrayList,这样我就可以访问它并通过Intent正确地传递它。这将起作用,除非我需要AsyncTask在应用程序启动时工作,并且当用户点击按钮时,它的返回信息将通过
Intent
发送。
Intent intent = new Intent(MainActivity.this,TriviaActivity.class);
intent.putParcelableArrayListExtra(QUESTION_KEY,"value");