任何人都可以解释为什么除了android.os.Uri(实现Parcelabe,Comparable)外,Bundle.put会出现但是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参数填充它的内容。这不是什么大问题,因为我将它作为字符串传递并在Fragment中重新解析它,但是避免这一步会很好。
EDITED: 上面的代码现在有效。
答案 0 :(得分:2)
如Selvin所述,the Bundle
class上没有put()
方法。 Uri
实施Parcelable
;将Uri
放入Bundle
,call putParcelable()
。