Android中Activity跳转 Bunder通过Serializable方式携带对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jal517486222/article/details/88828720

Bunder可以携带序列化的对象,但这个类在定义时要继承序列化接口Serializable

继承了序列化接口的对象Music

import java.io.Serializable;
//一定要继承Serializable
public  class Music implements Serializable {
    private String title;
    private String singer;
    private String album;
}

跳转之前的MainActivity,将对象装到bunder中

//关键代码
Bundle bundle = new Bundle();
bundle.putSerializable("music", new Music());
Intent intent = new Intent();
intent.putExtras(bundle);
intent.setClass(MainActivity.this, DetailsActivity.class);
startActivity(intent);

跳转之后的DetailsActivity,通过反序列化接受对象


public class DetailsActivity extends AppCompatActivity {
    private Music music = null;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_details);
        Bundle bundle = getIntent().getExtras();
        Music music = (Music) bundle.getSerializable("music");
        Toast.makeText(this, music.getName(), Toast.LENGTH_SHORT).show();
    }
}

猜你喜欢

转载自blog.csdn.net/jal517486222/article/details/88828720