`
abc20899
  • 浏览: 935960 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android开发:Activity之间的传值

阅读更多
方法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传值

    在Android应用开发中,`Service`和`Activity`是两个重要的组件。`Service`用于在后台执行长时间运行的任务,而`Activity`则负责用户界面交互。在某些场景下,我们可能需要在`Service`和`Activity`之间传递数据,比如...

    Android Activity之间传值

    在Android应用开发中,Activity是应用程序的基本组件,用于展示用户界面和处理用户交互。Activity之间的数据传递是一个常见的需求,尤其在构建多层级、复杂交互的应用时。本篇将详细讲解如何在Android Studio 3.1...

    Android 两个Activity之间传值

    在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。...此外,`CH01_01`可能是某个章节或教程的一部分,具体内容无法在此提供,但通常会涵盖更多关于Android开发的实践知识。

    android实现activity直接的传值问题

    在Android开发中,Activity是应用程序的基本组件,负责用户界面的展示和交互。当需要在不同的Activity之间传递数据时,Android提供了多种方式来实现这一功能。本文将深入探讨如何在Android中实现在Activity之间直接...

    Android_activity向fragment传值 对应45

    在Android应用开发中,Activity和Fragment是两个核心组件。Activity作为应用程序的主要入口点,而Fragment则可以看作是Activity中的可重用模块,它们共同构建了丰富的用户界面。当需要在Activity与Fragment之间进行...

    android两个activity相互传值

    在Android应用开发中,Activity是构成应用程序的基本组件,它代表用户界面的一个屏幕。当用户在应用中进行操作时,可能会在不同的Activity之间切换。在实际的开发过程中,常常需要在两个Activity之间传递数据,比如...

    Android Activity间传值

    在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。"Android Activity间传值"是一个核心知识点,它涉及到Intent、 Extras、Parcelable接口、Serializable接口等多种方式,...

    activity之间的传值demo

    总结,Activity间的传值是Android开发中的基础操作,理解并熟练掌握Intent的使用对于构建功能丰富的应用程序至关重要。通过`IntentDemo1`这样的实战练习,开发者可以更好地理解和应用这些概念,从而提升开发效率。在...

    在Activity之间传值

    在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。"在Activity之间传值"是一个核心的技能,涉及到Intent、 Extras、Parcelable接口等多种方式。下面我们将详细探讨这些...

    Android PopupWindow与Activity之间的数据传递.zip

    在Android开发中,PopupWindow和Activity是两个非常重要的组件。PopupWindow通常用于创建浮动窗口,如下拉菜单、提示框等,而Activity则是应用程序的基本单元,承载着用户界面和业务逻辑。两者之间的数据传递是实现...

    Android-Fragment和Activity的传值通例子

    在Android应用开发中,Fragment和Activity是两个核心组件,它们共同构建了用户界面。Fragment可以理解为Activity的一部分,可以在不同的Activity之间复用,也可以在同一个Activity内动态添加或移除。本篇将深入探讨...

    android 广播,界面传值示例

    在Android开发中,广播(Broadcast)和界面传值是两个重要的概念。广播是Android系统中的一种全局通知机制,用于在应用程序之间传递消息。界面传值则涉及到Activity、Fragment或者Service之间的数据交换。在这个...

    Activity之间传值

    总结,Activity间的传值是Android开发中的基础操作,理解并掌握各种类型的数据传递方式,包括基本类型、对象、对象集合以及Map,能够帮助开发者更有效地编写和维护应用。Parcelable和Serializable作为对象传递的主要...

    Android开发 两个Activity之间通过Intent跳转传值

    总结,Intent是Android开发中非常重要的工具,它使得Activity间的通信变得简单而灵活。理解并熟练掌握Intent的使用,对于Android开发者来说至关重要。在实际项目中,我们应根据需求选择合适的方式来传递和接收数据,...

    android activityIntent 传值 传对象

    在Android开发中,Activity是应用程序的基本组件,Intent则充当了Activity之间通信的桥梁。当我们需要在不同的Activity之间传递数据时,Intent就起到了至关重要的作用。本文将深入探讨如何使用Intent在Activity之间...

    Service向Activity传值(kotlin)

    在某些场景下,我们可能需要Service与Activity之间进行数据传递,例如本例中的“Service向Activity传值,实现Count累加的效果。定时传值”。这种需求常见于实时更新UI或者进行后台计数等操作。 首先,我们来详细...

    android开发中Intent在两个Activity间传值示例

    在这个“android开发中Intent在两个Activity间传值示例”中,我们将深入探讨如何使用Intent在两个Activity之间传递数据。 1. **Intent的基本概念** Intent是一个表示一个动作的意图对象,它包含了一个操作和操作的...

    Android中点击按钮启动另一个Activity及Activity之间传值问题

    Android 中点击按钮启动另一个 Activity 及 Activity 之间传值问题是 Android 开发中非常重要的一个知识点。通过本文,我们将详细介绍如何在 Android 中点击按钮启动另一个 Activity,並且实现 Activity 之间的传值...

    Android 多个Activity之间的传值

    在Android应用开发中,Activity是应用程序的基本组成部分,用于展示用户界面和处理用户交互。当涉及到多个Activity间的交互,数据传递就显得尤为重要。本篇文章将详细阐述如何在Android中注册和激活新的Activity,...

    (Activity与Fragment之间进行传值

    在Android应用开发中,Activity和Fragment是两个核心组件,它们之间的数据传递对于构建复杂的用户界面至关重要。本篇文章将深入探讨如何在Activity与Fragment之间进行有效的数据传递。 首先,理解Activity和...

Global site tag (gtag.js) - Google Analytics