一、简单数值传递
1、MainActivity
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("")));Intent i=new Intent(MainActivity.this,NewActivity.class);i.putExtra("data","我是要传递的字符串");startActivity(i);}});}2、NewActivityprivate TextView T;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_new);Intent i=getIntent();T=(TextView) findViewById(R.id.textView1);T.setText(i.getStringExtra("data"));}
二、数据包Bundle传递
1、MainActivity
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent i=new Intent(MainActivity.this,NewActivity.class);Bundle B=new Bundle();B.putString("name","张三");B.putInt("age",23);i.putExtra("data",B);startActivity(i);}});}2、NewActivityprivate TextView T;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_new);Intent i=getIntent();Bundle b=new Bundle();b=i.getBundleExtra("data");T=(TextView) findViewById(R.id.textView1);T.setText(String.format("name:%s",b.getString("name")));}
三、获取被启动 Activity 的返回参数
描述:点击MainActivity中的button1,,启动NewActivity,在NewActivity中输入数据,完毕后点击确定将输入的数据传给MainActivity的textView2。
1、MainActivity
private TextView Txt;//用于显示传回的数值@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent i=new Intent(MainActivity.this,NewActivity.class);//startActivity(i);不再是这个了!startActivityForResult(i,0);}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);Txt=(TextView)findViewById(R.id.textView2);Txt.setText(data.getStringExtra("data"));}2、NewActivity
private EditText E;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_new);findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {E=(EditText)findViewById(R.id.editText);Intent i=new Intent();i.putExtra("data",E.getText().toString());setResult(1,i);finish();//传完结束掉该Activity}});}
失败是成功之母