Android 2个activity 之间的数据传递

来源:互联网 发布:海底捞营业额的数据图 编辑:程序博客网 时间:2024/05/23 18:31

1.通过intent来传递:

A.传字符等:activity1中设置:

Java代码

String text = "hello";

Intent intent1 = new Intent(ActivityMain.this, Activity2.class);

intent1.putExtra("activity1", text);

startActivity(intent1 );

String text = "hello";

Intent intent1 = new Intent(ActivityMain.this, Activity2.class);

intent1.putExtra("activity1", text);

startActivity(intent1 );

B.传对象,对象要实例化,继承Serializable

Java代码

Bundle mbundle=new Bundle(); mbundle.putSerializable("user",userList.get(position));

Intent in =new Intent (getApplicationContext(), activity2.class);

in.putExtras(mbundle);

startActivity(in);

Bundle mbundle=new Bundle(); mbundle.putSerializable("user",userList.get(position));

Intent in =new Intent (getApplicationContext(), activity2.class);

in.putExtras(mbundle);

startActivity(in);

activity2中接收:

A:接收

Java代码

Bundle extras = getIntent().getExtras();

if (extras != null) {

textview.setText(extras.getString("activity1"));

}

Bundle extras = getIntent().getExtras();

if (extras != null) {

textview.setText(extras.getString("activity1"));

}

B.接收

Java代码

Bundle bundel = getIntent().getExtras();

user= (User) bundel.get("user");

Bundle bundel = getIntent().getExtras();

user= (User) bundel.get("user");

2.SharedPreferences

我在activity1中设置的如下:

Java代码

SharedPreferences sp =getSharedPreferences("textinfo",0);

Editor editor=sp.edit();

String text = "hello";

editor.putString("text", text);

editor.commit();Intent i = new Intent(getApplicationContext(),activity2.class);

startActivity(i);

SharedPreferences sp =getSharedPreferences("textinfo",0);

Editor editor=sp.edit();

String text = "hello";

editor.putString("text", text);

editor.commit();

Intent i = new Intent(getApplicationContext(),activity2.class);

startActivity(i);

跳转到Message的activity,获取内容如下

Java代码

SharedPreferences share=getSharedPreferences("textinfo",0);

String text =share.getString("text", null);

msgtextview.setText(text);

原创粉丝点击