在活动之间传递自定义对象?

Ski*_*zit 9 java android

如何在android中的活动之间传递自定义对象?我知道捆绑包但我似乎无法在其中看到任何功能.有人能告诉我一个很好的例子吗?

Igo*_*pov 15

您应该实现Parcelable接口.

链接到文档.

  • 为什么不能捆绑发送对象?我的意思是,为什么Android不支持它?所有的活动都在同一个过程中进行,所以不容易支持吗? (3认同)
  • @Enigma我想我得到了你的问题.如果你的意思是"在bundle中传递对象的引用",那么这是一个坏主意,因为创建对象的Activity可能由于内存不足而被破坏,并且对象将丢失. (2认同)

Aru*_*mar 5

使用Parcelable接口可以将自定义java对象传递给intent.

1)为你的类实现Parcelable接口,如:

class Employee implements Parcelable
{
}
Run Code Online (Sandbox Code Playgroud)

2)将Parcelable对象传递给intent,如:

Employee mEmployee =new Employee();
Intent mIntent = new Intent(mContect,Abc.class);
mIntent.putExtra("employee", mEmployee);
startActivity(mIntent);
Run Code Online (Sandbox Code Playgroud)

3)将数据输入新的[Abc]活动,如:

Intent mIntent  = getIntent();
Employee mEmployee  = (Employee )mIntent.getParcelableExtra("employee");
Run Code Online (Sandbox Code Playgroud)