方法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 studio 3.1开发环境。展示了两个Activity中的简单传值
android的activity直接传值问题
android开发中Intent在两个Activity间传值示例
今天所介绍的就是Android开发中的四大组件之一:Activity,其他那三大组件以后再进行介绍。说道Android中的Activity,如果你做过iOS开发的话,Activity类似于iOS中的ViewController(视图控制器)。在应用中能看到的...
详细的介绍可以参考我的博客
Android Activity的跳转与传值详解 Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。 Intent是Android一个很重要的类。Intent直译是“意图”,什么是意图呢?比如你想从这个Activity...
很多这种类型的dialog,界面千变万化,于是我建立了一个通用自定义dialog,可以实现...2、不管是在Fragment,还是Activity都可以实例化该dialog,并且实现dialog按钮的监听回调; 3、在dialog按钮点击后,自动消失。
Activity传值 实现 启动另一个Activity 在第一个Activity中的按钮的点击事件中 Button secondActivityButton = (Button)findViewById(R.id.secondActivity); secondActivityButton.setOnClickListener(new
SmartGo:通过编译时注解生成文件,简化 Activity 跳转时传值及取值
Android4.0入门之Activity返回参数: 开发流程梳理: 1.对界面进行布局(在layout目录下配置每个Activity对应的xml) 2.书写Activity类,获取控件、添加时间(新增Activity后,切记到配置Activity文件中去注册) ...
Android 中两个Activity 之间的传值问题 在Android项目中,有时需要一些全局的静态变量来保存一些数据,这样在关闭赋值界面后,其他的页面还可以调用这些数据。 但是我们知道,在Java中全局静态变量(java中没有...
在Android的开发过程中,有时需要进行Activity之间的跳转,在页面跳转的过程中,有时需要传递指定的参数数据过去,例如:信息发布app返回查询条件的需要,为此,就需要了解这方面的技术与实现方式。
android 开发技巧总汇 1.如何实现一个提示 2.menu 的用法 3.Activity 的切换(含Bundle传值) 4.Android UI Layout 都有图文教程,非常有用
path:传值时必须的key ※没有也可以 query:获取值的Key和Value ※没有也可以 作为测试好好写了一下,如下: <a href="myapp://jp.app/openwith?name=zhangsan&age=26">启动应用程序 接下来是Android端。 首先在...
自已制作的一个简单的android理财软件,很适合android初学者去了解android的activity之间的传值已经使用自带的sqlite进行android软件开发
在Activity之间传递数据还可以利用一些技巧,不管windows还是Linux操作系统,都会支持一种叫剪切板的技术,也就是某一个程序将一些数据复制到剪切板上,然后其他的任何程序都可以从剪切板中获取数据,在Android系统...
2.1.4、Activity 的跳转(含Bundle传值) 17 2.1.5.Actvity 堆栈 18 2.1.6、Intent对象调用Activity实例 19 2.1.7、Activity透明 21 2.1.8、一次性关闭所有的Activity 22 2.1.9、PreferenceActivity 用法 22 2.1.10...
JDI JDI 让Android开发更简单 一.概述 JDI为一组android开发过程中可复用的组件和模式组成 二.JDI能做什么 目标:让开发人员只关注...activity和activity传值,activity和fragment传值 fragment和fragment传值. 你不得不