最常用的Activity之间的数据传递。
1 btnStartAty1.setOnClickListener(new View.OnClickListener() { 2 @Override 3 public void onClick(View v) { 4 Intent i=new Intent(MainActivity.this, Activity1.class); 5 //Activity之间的数据传递 6 //i.putExtra("txt", "这是第一种Activity间的数据传递方法"); 7 Bundle data=new Bundle(); 8 data.putString("txt", "这是第二种Activity间的数据传递方法"); 9 10 i.putExtras(data); 11 12 //startActivity(i); 13 //如果想要接收Activity1返回的数据,这里就不能用startActivity 14 startActivityForResult(i, 0); 15 } 16 });
这是MainActivity.java中吧要传递的数据放在data中,命名为txt
btn_out2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //以下3行是大数据传递,也是最常见的Activity间的数据接收方法 Bundle data=getIntent().getExtras(); String txt=data.getString("txt2"); tv_out.setText(txt); } });
这是接收传递过来的数据的方法。
1 btnCloseAty1.setOnClickListener(new View.OnClickListener() { 2 @Override 3 public void onClick(View v) { 4 Intent i=new Intent(); 5 i.putExtra("result","result from Aty1 family!"); 6 setResult(0,i); 7 8 finish(); 9 //执行结束Aty1。 10 } 11 });
这是Aty1中要返回的数据。
1 @Override 2 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 3 super.onActivityResult(requestCode, resultCode, data); 4 String result=data.getStringExtra("result"); 5 tv_out_result.setText(result); 6 }
这是接受返回的数据。(
//要接收从Aty1传回的数据必须用StartActivityForResult()这个方法//不能继续用StartActivity()方法
)
时间: 2024-12-16 09:11:47