【问题标题】:How to use 'bundle' instead of 'intent.putExtra()' in Fragment in Android如何在 Android 的 Fragment 中使用 'bundle' 而不是 'intent.putExtra()'
【发布时间】:2013-12-11 07:41:26
【问题描述】:

Activity 中,我使用以下代码将值传递给其他Activity 类:

intent.putExtra("book_arr", book_arr);  // [putExtra(String *name*,Serializable *Value*)]

如何在Android Fragments中使用这样的代码?

我试过下面的代码,但是不支持序列化值:

Bundle args =new Bundle();
args.putInt("book_arr", book_arr);

谢谢,

【问题讨论】:

  • args.putSerializable("book_arr", book_arr);
  • @AndyRes:Thanks..如何获得价值?
  • 您将通过使用getSerializable() 方法并将结果转换为适当的类型(book_arr 的类型)获得的值。例如:Book[] book_arr = (Book[])args.getSerializable("book_arr");

标签: java android android-intent android-fragments


【解决方案1】:
args.putSerializable("book_arr", book_arr);

如果您的book_arr(应该是bookArr)是一大堆重物,请考虑将它们设为Parcelable。您需要编写额外的代码,但速度要快 10 倍左右。 (如果它不是一个大物体,你可能不应该打扰)。此页面可能会有所帮助

http://www.developerphil.com/parcelable-vs-serializable/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-27
    相关资源
    最近更新 更多