在android开发中总是需要不停的传递数据,特别是不同的Activity之间。在这里小编介绍自己所知的3种Activity的跳转方式。
第一种:静态传递数据
直接上部分代码:在第一个Activity中
Intent intent = new Intent();
intent.setClass(MainActivity.this,SecondActivity.class);
SecondActivity.usrname = "jack";
SecondActivity.password = 123456;
startActivity(intent);
其中的usrname和password是SecondActivity的2个属性。
第二种:使用Intent传输数据
在第一个Activity
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("one",Integer.parseInt(et1.getText().toString()));
intent.putExtra("two",Integer.parseInt(et2.getText().toString()));
startActivity(intent)
在第二个Activity中
Intent intent = getIntent();
int a = intent.getIntExtra("one",0);
int b = intent.getIntExtra("two",0);
第三种:意图返回结果
在第一个Activity
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("one",Integer.parseInt(et1.getText().toString()));
intent.putExtra("two",Integer.parseInt(et2.getText().toString()));
startActivityForResult(intent,REQUESTCODE);//表示可以返回数据并跳转
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == 2){ //2是返回的数据标致
if(requestCode == REQUESTCODE){ //请求数据的可以返回
int result = data.getIntExtra("three",0);
tv.setText(String.valueOf(data.getIntExtra("three", 0)));//返回的数据
}} }
在第二个Activity
Intent intent = new Intent();
intent.putExtra("three",c);
setResult(2,intent);//2表示从一个标志往第一个传
finish();//结束当前activity
以上就是3中Activity之间的传递数据的方式,如果有新的方式请留言指导小编,非常感谢!!!!!!1