android Ativity之間傳值一般使用Intent這個類
一、單行數據
傳值
Intent intent=new Intent(this,ThinkActivity.class);
//傳遞基本數據類型
//intent.putExtra("uname",傳遞的數據);
拿值
String uname=getIntent().getStringExtra("uname");
二、多行數據
這裏我們需要使用Bundle
傳值
//傳遞Bundle
Intent intent=new Intent(this,ThinkActivity.class);
Bundle bundle=new Bundle(); bundle.putString("uname",數據); bundle.putInt("uage",數據);
intent.putExtra("bundle",bundle);
拿值
//接受bundle
Bundle bundle=getIntent().getBundleExtra("bundle");
String uname=bundle.getString("uname");
int uage=bundle.getInt("uage");
三、傳對象(需要將對象進行序例化)
傳值
Intent intent=new Intent(this,ThinkActivity.class);
Person person=new Person(1,"靜靜",19);
intent.putExtra("persons",persons);
拿值
Person person= (Person) getIntent().getSerializableExtra("person");
Person person=getIntent().getParcelableExtra("person");
四、傳對象集合(需要使用Android的方法將對象進行實例化)
傳值
Intent intent=new Intent(this,ThinkActivity.class);
Person person1=new Person(1,"靜靜",19);
Person person2=new Person(2,"明明",19);
Person person3=new Person(3,"雨田君",19);
ArrayList<Person> persons=new ArrayList<>();
persons.add(person1);
persons.add(person2);
persons.add(person3);
//傳遞對象集合
intent.putParcelableArrayListExtra("persons",persons);
拿值
List<Person> persons=getIntent().getParcelableArrayListExtra("persons");
然後循環遍歷