Bundle.put(String, Pacelable) 与 Intent.putExtra(String, Parcelable)
Bundle.put(String, Pacelable) vs. Intent.putExtra(String, Parcelable)
谁能解释为什么 Bundle.put 不会,除了 android.os.Uri(实现 Parcelabe,Comparable)但 Intent.putExtra 会?
Uri uri = Uri.parse("some string");
Intent intent = new Intent();
intent.putExtra("key", uri); //this is ok...builds, runs, works
Bundle args = new Bundle();
args.putParcelable("key", uri); //wont build
我正在尝试为每个片段提供一个 uri 引用,以引用通过片段参数填充它的内容。这没什么大不了的,因为我将它作为字符串传递并在 Fragment 中重新解析它,但最好避免这一步。
已编辑:
上面的代码现在可以工作了。
正如 Selvin 所指出的,the Bundle
class. Uri
implements Parcelable
; to put a Uri
in a Bundle
, call putParcelable()
上没有 put()
方法。
谁能解释为什么 Bundle.put 不会,除了 android.os.Uri(实现 Parcelabe,Comparable)但 Intent.putExtra 会?
Uri uri = Uri.parse("some string");
Intent intent = new Intent();
intent.putExtra("key", uri); //this is ok...builds, runs, works
Bundle args = new Bundle();
args.putParcelable("key", uri); //wont build
我正在尝试为每个片段提供一个 uri 引用,以引用通过片段参数填充它的内容。这没什么大不了的,因为我将它作为字符串传递并在 Fragment 中重新解析它,但最好避免这一步。
已编辑: 上面的代码现在可以工作了。
正如 Selvin 所指出的,the Bundle
class. Uri
implements Parcelable
; to put a Uri
in a Bundle
, call putParcelable()
上没有 put()
方法。