Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 在Activity中通過Bundle傳遞數據類型

在Activity中通過Bundle傳遞數據類型

編輯:關於android開發

  在Android開發中,有時候需要從一個Activity中傳遞數據到另一個Activity中,在Bundle中已經封裝好了簡單數據類型,例如String ,int ,float等。但是如果我們想要傳遞一個復雜的數據類型,比如一個Book對象,該怎麼辦呢?

  仔細的看了一下Bundle中的方法,其中有一個是putSerializable()方法,Serializable對象是一個可恢復對象接口,我們只需要讓Book對象實現Serializable接口,就可以使用Bundle.putSerializable()方法傳遞Book對象了。廢話不多說了,現將代碼貼上:

  package com.bundletest.model.fneg;
  import java.io.Serializable;
  public class Book implements Serializable {
  /**
  *
  */
  private static final long serialVersionUID = 1L;
  private String name;
  private String id;
  private String author;
  public String getName() {
  return name;
  }
  public void setName(String name) {
  this.name = name;
  }
  public String getId() {
  return id;
  }
  public void setId(String id) {
  this.id = id;
  }
  public String getAuthor() {
  return author;
  }
  public void setAuthor(String author) {
  this.author = author;
  }
  }

  Book類:
  if(TextUtils.isEmpty(bookName)||TextUtils.isEmpty(author)||TextUtils.isEmpty(id)){
  Toast.makeText(AndroidBundleActivity.this, "輸入框不能為空", Toast.LENGTH_SHORT).show();
  }else{
  Book book=new Book();
  book.setName(bookName);
  book.setAuthor(author);
  book.setId(id);
  Intent intent=new Intent(AndroidBundleActivity.this,RecieveActivity.class);
  Bundle bundle=new Bundle();
  bundle.putSerializable("book", book);
  intent.putExtras(bundle);
  startActivity(intent);
  }

  Intent intent=this.getIntent();
  Bundle bundle=intent.getExtras();
  Book book=(Book)bundle.getSerializable("book");
  nameText.setText("書名:"+book.getName());
  authorText.setText("作者:"+book.getAuthor());
  idText.setText("ID:"+book.getId());

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved