贵有恒,何必三更起、五更眠、最无益,只怕一日曝、十日寒。这篇文章主要讲述Android中activity传值的两种方式相关的知识,希望能为你提供帮助。
第一种:第一个Activity
/** * 通过这个方法跳转到activity2界面*/ public void gotoActivity2(View v){ //创建一个意图 Intent intent=new Intent(this,MainActivity2.class); //第一种传值方式 Bundle bundle=new Bundle(); bundle.putString("name","zhangsan"); bundle.putInt("age", 23); intent.putExtra("person", bundle); //启动另一个activity startActivity(intent); }
【Android中activity传值的两种方式】第二个Activity
/** * Activity被创建时调用 * 可以在该方法中初始化UI组件 * 该方法调用完毕会调用onStart()方法 * */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); System.out.println("MainActivity2-onCreate()"); //获取上一个activity传过来的参数 Intent intent=getIntent(); Bundle bundle=intent.getBundleExtra("person"); String name= bundle.getString("name"); int age=bundle.getInt("age"); System.out.println(name+" : "+age); TextView textView=(TextView) findViewById(R.id.textView2); textView.setText("name="+name+" age="+age); }
第二种:activity1
//第二种传值方式 intent.putExtra("name", "小白"); startActivity(intent);
activity2
Intent intent=getIntent(); String name2= intent.getStringExtra("name"); TextView textView=(TextView) findViewById(R.id.textView2); textView.setText("name2="+name2);
传递自定义类型(自定义类,自定义类必须序列化)
activity1
//传递自定义类型 Cat cat=new Cat(1, "校花", 23); intent.putExtra("cat", cat); startActivity(intent);
activity2
//第二种 String name2= intent.getStringExtra("name"); Cat cat=(Cat) intent.getSerializableExtra("cat"); TextView textView=(TextView) findViewById(R.id.textView2); textView.setText("cat="+cat.toString());
本文出自 “matengbing” 博客,请务必保留此出处http://matengbing.blog.51cto.com/11395502/1880953
推荐阅读
- android 判断sd的状态,所有文件,剩余空间的大小
- android开发实现语音数据实时采集/播放
- 如何使用CSS创建波浪球效果()
- PHP如何使用cal_days_in_month()函数(代码示例)
- TCS Codevita 7 2018面试经验分享和借鉴
- C++标准模板库(STL)中如何使用排序算法()
- 操作系统中的资源分配图(RAG)详细指南
- jQuery如何使用slideToggle()方法(代码示例)
- ER图中的递归关系简要介绍