Android开发基础之Activity之间参数传递

一、简单数值传递

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}});}

失败是成功之母

Android开发基础之Activity之间参数传递

相关文章:

你感兴趣的文章:

标签云: