设为首页 加入收藏

TOP

在activity之间传递数据(一)
2017-10-11 17:00:19 】 浏览:1304
Tags:activity 之间 传递 数据

在activity之间传递数据

一、简介

 

二、通过intent传递数据

1、在需要传数据的界面调用

intent.putExtra("data1", "我是fry");方法

//前面是键,后面是值,这个是string

2、在需要接受数据的界面调用bundle获取传递过来的数据即可

Bundle bundle = getIntent().getExtras();
String data1=bundle.getString("data1");

如果是string就getString(),int就getString(),什么数据类型的方法都有

3、实例

需要传数据的界面调用

intent.putExtra("data1", "我是fry");

需要接受数据的界面

Bundle bundle = getIntent().getExtras();
String data1=bundle.getString("data1");

data1里面的内容就是:"我是fry"

 

三、实例

结果图

原理:

在MainActivity页面创建数据,然后用intent.putExtra方法将数据传递给Activity01页面

代码

activityDataSend.MainActivity

 1 package activityDataSend;
 2 
 3 
 4 
 5 
 6 
 7 import com.example.activityDataSend.R;
 8 
 9 import android.app.Activity;
10 import android.content.Intent;
11 import android.content.Loader;
12 import android.os.Bundle;
13 import android.view.View;
14 import android.view.View.OnClickListener;
15 import android.widget.Button;
16 
17 
18 
19 public class MainActivity extends Activity{
20     private Button btn_openActivty;//创建一个button对象
21      protected void onCreate(Bundle savedInstanceState) {
22             super.onCreate(savedInstanceState);//父类操作
23             setContentView(R.layout.activity_main);//引入名为activity_main的界面
24             btn_openActivty=(Button) findViewById(R.id.btn_openActivity);//找id为btn_openActivity的button
25             btn_openActivty.setOnClickListener(new OnClickListener() {//设置button点击监听
26                 
27                 @Override
28                 public void onClick(View v) {//onclick事件
29                     // TODO Auto-generated method stub
30 Intent intent=new Intent();//初始化intent 31 intent.setClass(MainActivity.this,Activity01.class);//连接 32 //下面这句话用于intent在activity之间传输data 33 intent.putExtra("data1", "我是fry");//前面是键,后面是值,这个是string 34 intent.putExtra("data2", 0.2);//这个是double 35 //传递对象,serializable序列化方式 36 testClass1_serialize class1=new testClass1_serialize("fry1",21); 37 intent.putExtra("data3_obj", class1); 38 39 //传递对象,parcelable序列化方式 40 testClass2_parcelable class2=new testClass2_parcelable("fry2",22); 41 intent.putExtra("data4_obj", class2); 42 43 startActivity(intent);//打开activity
44                 }
45             });
46         }
47 }

activityDataSend.Activity01

 1 package activityDataSend;
 2 
 3 
 4 
 5 import com.example.activityDataSend.R;
 6 
 7 import android.app.Activity;
 8 import android.os.Bundle;
 9 import android.util.Log;
10 import android.widget.TextClock;
11 import android.widget.TextView;
12 
13 public class Activity01 extends Activity{
14     private TextView textView_ans;
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         // TODO Auto-generated method stub
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.activity01);
20         
21         textView_ans=(TextView) findViewById(R.id.textView_ans);
22 Bundle bundle = getIntent().getExtras(); 23 String data1=bundle.getString("data1"); 24 double data2=bundle.getDouble("data2"); 25 testClass1_serialize data3_obj=(testClass1_serialize) bundle.get("data3_obj"); 26 testClass2_parcelable data4_obj=(testClass2_parcelable) bundle.get("data4_obj"); 27         
28         Log.d("MainActivity",bundle.get("data3_obj")+"\n"+bund
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Fragment已经被added了导致的异常.. 下一篇在activity之间通过静态变量传递..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目