在Intent中提供了一系列putExtra()方法的重载,用以把需要传递数据暂存Intent中
button.setOnClickListener(new View.OnClickListener(){@Overridepublic void onclick(View v){String data="hello";Intent i=new Intent(FirstActivity.this,SecondActivity.class);startActivity(intent);i.putExtra("extra_data",data);}})
在putExtra中,第一个参数是键,第二个是要传递的参数
public class SecondActivity extens AppCompatActivity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.second_layout);Intent intent=getIntent();String data=intent.getStringExtra("extra_data");Log.d("SecondActivity",data);}}
首先可以通过getIntent方法获得勇于启动SecondActivity的Intent,然后调用getStringExtra方法传入相应的键值既可以获得传递的数据了
而要返回数据给上一个活动
button.setOnClickListener(new View.OnClickListener(){@Overridepublic void onclick(View v){Intent i=new Intent(FirstActivity.this,SecondActivity.class);startActivityForResult(intent,1);}})
则需要Activity中的startActivityForResult,它能够在销毁时返回一个结果给上一个Activity