Android - 打开Activity并等待Result继续调用class

时间:2017-04-25 06:58:46

标签: java android

我对Android很陌生并遇到问题。

我有一个A级,我想在那里打电话给另一个活动。我发现一些帖子说没有办法暂停调用Activity并等待结果。

seq2seq

这不是一个完整的例子,但基本上是我面临的问题。

我有一个循环并尝试打开另一个活动。当我启动“OtherActivity”时,循环不会停止。 我看到的第一件事是列表的最后一个元素的OtherActivity(这里是字符串“b”)。当我完成此活动时,我看到OtherActivity字符串“a”的顺序错误。

我认为这是一个回调,但我不知道如何实现它,因为回调处理程序不在循环中。

我再次不确定回调是否是一个好主意,因为很多人说我不应该暂停子活动的“调用”活动。

2 个答案:

答案 0 :(得分:1)

你这样做是完全错误的,如果你想将数据发送到其他活动并做一些工作然后得到结果,我宁愿将整个数据作为列表发送,做工作然后从中获取数据活动,你不应该在一个循环中这样做。将其传递为intent或将其保存在数据库中,然后从数据库中检索。

答案 1 :(得分:0)

如果你想将整个字符串列表传递给另一个活动,我建议你这样做

  

如果E类型是,您可以以相同的方式传递ArrayList   序列化的。

     

你可以调用putExtra(String name,Serializable value)   意图存储,并使用getSerializableExtra(String name)进行检索。

     

示例:

ArrayList<String> myList = new ArrayList<String>();
intent.putExtra("mylist", myList); 
     

在另一项活动中:

ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("mylist");
     

请注意序列化可能会导致性能问题:需要时间,并且会分配大量对象(因此必须进行垃圾回收)

来源:Passing a List from one Activity to another

或者正如Abdul建议的那样,将数据保存到数据库并从其他活动

中检索数据