具体实现的方法是Intent.putExtra()(这种方法比较直接),将参数传入(传入的参数数据类型可以很多种),也可以用Bundle传入参数,
Bundle bundle = new Bundle();
bundle.putString(“str”, “Intent Demo”);
intent.putExtras(bundle);
若需要获得返回值,则用startActivityForResult(),并需要知道返回的一个RESULT_CODE(int类型),可以理解为指针,用intent.setClass() 确定传递给那个类(这里包括Activity、Service等)。第二个Activity—本例中的OtherActivity ,用Intent intent=getIntent();String nameString = intent.getStringExtra(“name”);使用Bundle的话Bundle bundle=intent.getExtras();String str=bundle.getString(“str”);获得前一个Activity传来的参数,然后把传递过来的数据展示出来,(MainActivity不用返回值可以直接startActivity(intent);)。
贴上主要代码:(仅展示直接方法)
MainActivity:
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, OtherActivity.class);
intent.putExtra("name", "张三");
intent.putExtra("age","23");
startActivity(intent);
}
});
OtherActivity:
Intent intent = getIntent();
String nameString = intent.getStringExtra("name");
int age = intent.getIntExtra("age", 0);
textView.setText("age--->>"+age+"\n"+"name--->>"+nameString+"\n");