安卓activity之间传递数据

在学习android时候发现Activity之间传递数据是比较复杂的,在Activity中调用另一个Activity时,需要调用startActivity(Intent i), 若需要在调用另外一个Activity的同时传递数据,那么就需要利用android.os.Bundle对象封装数据的能力,将欲传递的数据或参数,通过Bundle来传递不同Intent之间的数据。Bundle对象针对了不同的数据类型提供了许多的方法,例如,传递String类型的数据,使用的方法为Bundle.putString(stringName,stringValue):

看看书和网上的资料总结了一下传递的过程

简单的传递数据实现

1.新建一个project

2.在这个Activity里添加一个Button

3、创建另一个Activity,添加一个textview并且设置好id

4.MainActivity中代码如下

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建并实现一个监听器
findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//监听器运作
Intent i=new Intent(MainActivity.this,Main2Activity.class);//MainActivity和Main2Ativity连接起来
i.putExtra("data","nihao");//用putExtra把内容传送到另一个Activity,名字是data,值是nihao
startActivity(i);//启动第二个activity

}
});
}
}

在Mian2Activity代码如下

public class Main2Activity extends AppCompatActivity {
private TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);

Intent i=getIntent();
tv=(TextView) findViewById(R.id.tv22);
tv.setText(i.getStringExtra("data"));
}
}

猜你喜欢

转载自blog.csdn.net/qq_39400251/article/details/80772148