笔记整理——activity间数据传递
2014-12-05 22:51
211 查看
代码演示UI图:
界面1(程序第一界面) 界面2(跳转到的界面)
[b] 界面3(界面2回传数据到界面1)
[/b]
1、用Intent传递,关键代码:
MainActivity.java(界面1——主界面)
Aty1.java(界面2——跳转到的界面)
2、使用Bundle传递复杂点的数据,关键代码:
MainActivity.java(界面1——主界面)
Aty1.java(界面2——跳转到的界面)
3、界面2回传数据到界面1,要重写onActivityResult()方法,关键代码:
MainActivity.java(界面1——主界面)
Aty1.java(界面2——跳转到的界面)
完整代码链接:
activity间数据传递
界面1(程序第一界面) 界面2(跳转到的界面)
[b] 界面3(界面2回传数据到界面1)
[/b]
1、用Intent传递,关键代码:
MainActivity.java(界面1——主界面)
btnStartAty1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this,Aty1.class); i.setClassName("com.demo.activitylc", "com.demo.activitylc.Aty1"); i.putExtra("txt", "你好,我是activity_main传递来的数据"); startActivity(i); } });
Aty1.java(界面2——跳转到的界面)
tvOut = (TextView) findViewById(R.id.tvOut); tvOut.setText(getIntent().getStringExtra("txt"));
2、使用Bundle传递复杂点的数据,关键代码:
MainActivity.java(界面1——主界面)
btnStartAty1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this,Aty1.class); Bundle data = new Bundle(); data.putString("txt", "我是MainActivity.java传递来的数据"); i.putExtras(data); startActivity(i); } });
Aty1.java(界面2——跳转到的界面)
tvOut = (TextView) findViewById(R.id.tvOut); //使用Bundle可以传递较为复杂的数据 Bundle data = getIntent().getExtras(); String txt = data.getString("txt"); tvOut.setText(txt);
3、界面2回传数据到界面1,要重写onActivityResult()方法,关键代码:
MainActivity.java(界面1——主界面)
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvOut = (TextView) findViewById(R.id.tvOut); btnStartAty1 = (Button) findViewById(R.id.btnStartAty1); btnStartAty1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this,Aty1.class); Bundle data = new Bundle(); data.putString("txt", "我是MainActivity.java传递来的数据"); i.putExtras(data); startActivityForResult(i, 0); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { String result = data.getStringExtra("result"); tvOut.setText(result); super.onActivityResult(requestCode, resultCode, data); }
Aty1.java(界面2——跳转到的界面)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aty1);
btnClose = (Button) findViewById(R.id.btnClose);
//点击关闭按钮的时候,回传数据给MainActivity.java对应的xml文件
btnClose.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent();
i.putExtra("result", "我是Aty1回传的数据");
setResult(0,i);
finish();
}
});
tvOut = (TextView) findViewById(R.id.tvOut); //使用Bundle可以传递较为复杂的数据 Bundle data = getIntent().getExtras(); String txt = data.getString("txt"); tvOut.setText(txt);;
}
完整代码链接:
activity间数据传递
相关文章推荐
- Android中级教程(三)之不同Activity之间的数据传递---Bundle对象的使用!
- Android 在两个 Activity 之间传递数据
- android的一些提示框 以及activity之间数据的传递
- Bundle在不同的Activity之间传递数据!
- android 应用程序Activity之间数据传递与共享的几种途径(2)
- Android如何在Activity和Service之间传递数据
- Ex3.10 不同Activity之间的数据传递——Bundle对象的实现
- Activity之间的数据传递
- 用intent在activity间传递数据
- Android之Activity的生命周期和Activity间的跳转和数据传递
- 传智播客--3G开发之添加多Activity和数据传递,Activity生命周期,广播,服务
- 在Android中,通过extras在activity之间传递数据
- 不同Activity之间的数据传递
- Android 2个activity 之间的数据传递
- Android判断网络状态是否断开+Android完全关闭应用程序+ 本文讲述了Android中不同Activity之间的数据传递 — Bundle对象的实现(-)+Android中Bundle的使用示例
- Android中级教程(三)之不同Activity之间的数据传递---Bundle对象的使用!
- 使用 Bundle在Activity间传递数据
- activity之间的跳转及传递数据
- Android中2个activity之间的数据传递方法
- Android之Activity的生命周期和Activity间的切换和数据传递(二)