【问题标题】:Pass Custom array Data to another activity via intent通过意图将自定义数组数据传递给另一个活动
【发布时间】:2015-01-04 22:30:43
【问题描述】:
     final RecipientEditTextView emailRetv =
      (RecipientEditTextView) findViewById(R.id.email_retv);
      emailRetv.setTokenizer(new Rfc822Tokenizer());
       emailRetv.setAdapter(new BaseRecipientAdapter(this));
       DrawableRecipientChips[] chips = phoneRetv.getSortedRecipients();

我需要通过意图将 DrawableRecipientChips[] 筹码发送到另一个活动。请问我该怎么做?

DrawableRecipientChips[] 芯片来自这个libary

【问题讨论】:

  • 你必须告诉我们一些关于DrawRecipientChips的数据类型。
  • @TedHopp 我刚刚发布了一个指向库的链接
  • 由于DrawableRecipientChips 是一个接口而不是一个类,实际的数组元素几乎可以是任何东西。我不认为你可以在不知道它们是什么的情况下将对象发送到另一个活动(或者除非它们实现 SerializableParcelable)。

标签: java android android-activity arraylist


【解决方案1】:

如果您有复杂的对象需要从一个Activity 传递到另一个,则不必将它们放在Intent 中。您可以将它们放在public static 变量中,如下所示:

ActivityA:

public static DrawableRecipientChips[] chips;

ActivityB.onCreate():

// Get reference to the chips array from the previous Activity
chips = ActivityA.chips;

这不是一个完美的解决方案,因为如果 Android 终止您的进程并且用户返回到应用程序,public static 变量将为空。但是您可以针对这种情况进行测试,然后在发生这种情况时从头重新启动您的应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 2018-01-18
    • 1970-01-01
    相关资源
    最近更新 更多