方法1: 1给2传值
Activity1:
Java代码
final Intent intent = new Intent(mCtx,Activity1.class) ; //将当前用户传递下去
intent.putExtra("user", mUser);
startActivity(intent);
里边mUser是一个对象,传的事实上是一个Map,"user"是对象mUser的key
Activity2:
Java代码
mUser = (User) getIntent().getSerializableExtra("user");
mUser是对象,getIntent()是Activity的方法,值得注意的是得到的mUser 不是引用,而是new了一个对象并赋值,如果这东西要回传的话,要startActivity(intent);就没用了。
所以用方法2:
Activity1:
Java代码
intent.setClass(mCtx, Activity2.class);
intent.putExtra("user", mUser);
startActivityForResult(intent, 1);
并且在Activity1中
Java代码
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==1 || data.getSerializableExtra("putUserbyhua")!=null)
mUser=(User)getIntent().getSerializableExtra("putUserbyhua");
}
Activity2:
获取传来的值
Java代码
mIntent = getIntent() mUser=(User) mIntent.getSerializableExtra(UserConst.USER_DATA);
在按返回键时跳转到1
Java代码
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
final Intent intent=new Intent();
intent.setClass(mCtx, Activity2.class);
intent.putExtra("putUserbyhua",mUser);
this.setResult(1);
this.finish();
}
return super.onKeyDown(keyCode, event);
}
public class IntentTest extends Activity {
/** Called when the activity is first created. */
private EditText et1;
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et1=(EditText)findViewById(R.id.editText1);
Button bt=(Button)findViewById(R.id.button1); bt.setOnClickListener(new ButtonListener()); }
class ButtonListener implements OnClickListener{ @Override
public void onClick(View arg0) {
String val=et1.getText().toString();
//生成一个Intent对象
Intent intent=new Intent();
//设置传递的参数
intent.putExtra("val", val);
//从Activity IntentTest跳转到Activity IntentTest01 intent.setClass(IntentTest.this,IntentTest01.class);
//启动intent的Activity
IntentTest.this.startActivity(intent);
}
}
}
IntentTest01.java代码如下:
public class IntentTest01 extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.intent01);
Intent intent=getIntent();
String value=intent.getStringExtra("val");
TextView et=(TextView)findViewById(R.id.textView1);
et.setText(value);
}
}
分享到:
相关推荐
在Android应用开发中,`Service`和`Activity`是两个重要的组件。`Service`用于在后台执行长时间运行的任务,而`Activity`则负责用户界面交互。在某些场景下,我们可能需要在`Service`和`Activity`之间传递数据,比如...
在Android应用开发中,Activity是应用程序的基本组件,用于展示用户界面和处理用户交互。Activity之间的数据传递是一个常见的需求,尤其在构建多层级、复杂交互的应用时。本篇将详细讲解如何在Android Studio 3.1...
在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。...此外,`CH01_01`可能是某个章节或教程的一部分,具体内容无法在此提供,但通常会涵盖更多关于Android开发的实践知识。
在Android开发中,Activity是应用程序的基本组件,负责用户界面的展示和交互。当需要在不同的Activity之间传递数据时,Android提供了多种方式来实现这一功能。本文将深入探讨如何在Android中实现在Activity之间直接...
在Android应用开发中,Activity和Fragment是两个核心组件。Activity作为应用程序的主要入口点,而Fragment则可以看作是Activity中的可重用模块,它们共同构建了丰富的用户界面。当需要在Activity与Fragment之间进行...
在Android应用开发中,Activity是构成应用程序的基本组件,它代表用户界面的一个屏幕。当用户在应用中进行操作时,可能会在不同的Activity之间切换。在实际的开发过程中,常常需要在两个Activity之间传递数据,比如...
在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。"Android Activity间传值"是一个核心知识点,它涉及到Intent、 Extras、Parcelable接口、Serializable接口等多种方式,...
总结,Activity间的传值是Android开发中的基础操作,理解并熟练掌握Intent的使用对于构建功能丰富的应用程序至关重要。通过`IntentDemo1`这样的实战练习,开发者可以更好地理解和应用这些概念,从而提升开发效率。在...
在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。"在Activity之间传值"是一个核心的技能,涉及到Intent、 Extras、Parcelable接口等多种方式。下面我们将详细探讨这些...
在Android开发中,PopupWindow和Activity是两个非常重要的组件。PopupWindow通常用于创建浮动窗口,如下拉菜单、提示框等,而Activity则是应用程序的基本单元,承载着用户界面和业务逻辑。两者之间的数据传递是实现...
在Android应用开发中,Fragment和Activity是两个核心组件,它们共同构建了用户界面。Fragment可以理解为Activity的一部分,可以在不同的Activity之间复用,也可以在同一个Activity内动态添加或移除。本篇将深入探讨...
在Android开发中,广播(Broadcast)和界面传值是两个重要的概念。广播是Android系统中的一种全局通知机制,用于在应用程序之间传递消息。界面传值则涉及到Activity、Fragment或者Service之间的数据交换。在这个...
总结,Activity间的传值是Android开发中的基础操作,理解并掌握各种类型的数据传递方式,包括基本类型、对象、对象集合以及Map,能够帮助开发者更有效地编写和维护应用。Parcelable和Serializable作为对象传递的主要...
总结,Intent是Android开发中非常重要的工具,它使得Activity间的通信变得简单而灵活。理解并熟练掌握Intent的使用,对于Android开发者来说至关重要。在实际项目中,我们应根据需求选择合适的方式来传递和接收数据,...
在Android开发中,Activity是应用程序的基本组件,Intent则充当了Activity之间通信的桥梁。当我们需要在不同的Activity之间传递数据时,Intent就起到了至关重要的作用。本文将深入探讨如何使用Intent在Activity之间...
在某些场景下,我们可能需要Service与Activity之间进行数据传递,例如本例中的“Service向Activity传值,实现Count累加的效果。定时传值”。这种需求常见于实时更新UI或者进行后台计数等操作。 首先,我们来详细...
在这个“android开发中Intent在两个Activity间传值示例”中,我们将深入探讨如何使用Intent在两个Activity之间传递数据。 1. **Intent的基本概念** Intent是一个表示一个动作的意图对象,它包含了一个操作和操作的...
Android 中点击按钮启动另一个 Activity 及 Activity 之间传值问题是 Android 开发中非常重要的一个知识点。通过本文,我们将详细介绍如何在 Android 中点击按钮启动另一个 Activity,並且实现 Activity 之间的传值...
在Android应用开发中,Activity是应用程序的基本组成部分,用于展示用户界面和处理用户交互。当涉及到多个Activity间的交互,数据传递就显得尤为重要。本篇文章将详细阐述如何在Android中注册和激活新的Activity,...
在Android应用开发中,Activity和Fragment是两个核心组件,它们之间的数据传递对于构建复杂的用户界面至关重要。本篇文章将深入探讨如何在Activity与Fragment之间进行有效的数据传递。 首先,理解Activity和...