android bundle putExtra RadioGroup

在Android中,两个Acitivity之间是靠Intent传递信息的,因为Intent本来就起到信使的作用,所以用它来传递数据也显得顺理成章了.

Intent 提供了多个方法来"携带"额外的数据

putExtras(Bundle data): 向Intent中放入需要"携带"的数据

putXxx(String key,Xxx date):向Bundle放入Int,Long等各种类型的数据(Xxx指代各种数据类型的名称)

putSerializable(String key,Serializable date):向Bundle中放入一个可序列化的对象.

当然Intent也提供了相应的取出"携带"数据的方法

getXxx(String key):从Bundle取出Int,Long 等各种数据类型的数据.

getSerializable(String Key,Serializable data): 从Bundle取出一个可序列化的对象.

下面以使用getSerializable为例,定义一个可序列化的Person类,模拟一个用户注册的过程,通过注册那个窗口(Acitivity)传递注册信息到另一个窗口

下面是定义的一个DTO类Person用来记录注册的信息,注意!要定义成可序列化的类,继承Serializable

[java]  view plain copy print ?
  1. package WangLi.Activity.Bundle;  
  2.   
  3. import java.io.Serializable;  
  4.   
  5. public class Person implements Serializable {  
  6.     private String _Name;  
  7.     private String _Passwd;  
  8.     private String _Gender;  
  9.     public String getName()  
  10.     {  
  11.         return _Name;  
  12.     }  
  13.     public String getPass()  
  14.     {  
  15.         return _Passwd;  
  16.     }  
  17.     public String getGender()  
  18.     {  
  19.         return _Gender;  
  20.     }  
  21.     public Person(String Name,String Passwd,String Gender)  
  22.     {  
  23.         this._Name = Name;  
  24.         this._Passwd = Passwd;  
  25.         this._Gender = Gender;  
  26.     }  
  27. }  

第一个Activity界面如图


填入注册信息后,点"注册"后跳到新窗口,显示刚刚输入的信息

下面是注册窗口,界面xml 和代码

[html]  view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <TableLayout  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="wrap_content" >  
  10.          
  11.         <TextView   
  12.             android:layout_width="fill_parent"  
  13.             android:layout_height="wrap_content"  
  14.             android:text="请输入您的注册信息"  
  15.             android:textSize="20sp"  
  16.             />  
  17.           
  18.         <TableRow>  
  19.             <TextView  
  20.                 android:layout_width="fill_parent"  
  21.                 android:layout_height="wrap_content"  
  22.                 android:text="用户名:"  
  23.                 android:textSize="16sp"  
  24.             />  
  25.               
  26.             <EditText  
  27.                 android:id="@+id/name"  
  28.                 android:layout_width="fill_parent"  
  29.                 android:layout_height="wrap_content"  
  30.                 android:hint="请填写想注册的账号"  
  31.                 android:selectAllOnFocus="true"  
  32.              />  
  33.         </TableRow>  
  34.   
  35.         <TableRow>  
  36.             <TextView  
  37.                 android:layout_width="fill_parent"  
  38.                 android:layout_height="wrap_content"  
  39.                 android:text="密码:"  
  40.                 android:textSize="16sp"  
  41.             />  
  42.             <EditText  
  43.                 android:id="@+id/passwd"  
  44.                 android:layout_width="fill_parent"  
  45.                 android:layout_height="wrap_content"  
  46.                 android:password = "true"  
  47.                 android:selectAllOnFocus="true"  
  48.              />  
  49.         </TableRow>  
  50.   
  51.         <TableRow>  
  52.             <TextView  
  53.                 android:layout_width="fill_parent"  
  54.                 android:layout_height="wrap_content"  
  55.                 android:text="性别"  
  56.                 android:textSize="16sp"  
  57.             />  
  58.             <RadioGroup  
  59.                 android:layout_width="fill_parent"  
  60.                 android:layout_height="wrap_content"  
  61.                 android:orientation="horizontal"  
  62.             >  
  63.                 <RadioButton   
  64.                     android:id="@+id/male"  
  65.                     android:layout_width="wrap_content"  
  66.                     android:layout_height="wrap_content"  
  67.                     android:text="男"  
  68.                     android:textSize="16sp"  
  69.                     />  
  70.                  <RadioButton   
  71.                     android:id="@+id/female"  
  72.                     android:layout_width="wrap_content"  
  73.                     android:layout_height="wrap_content"  
  74.                     android:text="女"  
  75.                     android:textSize="16sp"  
  76.                     />  
  77.             </RadioGroup>  
  78.         </TableRow>  
  79.   
  80.         <TableRow>  
  81.             <Button  
  82.                 android:id="@+id/bn"  
  83.                 android:layout_width="wrap_content"  
  84.                 android:layout_height="wrap_content"  
  85.                 android:text='注册'  
  86.                 android:textSize="16sp"  
  87.                 />  
  88.         </TableRow>  
  89.     </TableLayout>  
  90.   
  91. </LinearLayout>  
[java]  view plain copy print ?
  1. package WangLi.Activity.Bundle;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.view.View.OnClickListener;  
  8. import android.widget.Button;  
  9. import android.widget.EditText;  
  10. import android.widget.RadioButton;  
  11.   
  12. public class BundleTest extends Activity {  
  13.     /** Called when the activity is first created. */  
  14.     @Override  
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.         setContentView(R.layout.main);  
  18.         Button bn = (Button)findViewById(R.id.bn);  
  19.         bn.setOnClickListener(new OnClickListener()  
  20.         {  
  21.             public void onClick(View v)  
  22.             {  
  23.                 EditText name = (EditText)findViewById(R.id.name);  
  24.                 EditText passwd = (EditText)findViewById(R.id.passwd);  
  25.                 RadioButton male = (RadioButton)findViewById(R.id.male);  
  26.                 String gender = male.isChecked() ? "男" : "女";  
  27.                 Person p = new Person(name.getText().toString(),passwd.getText().toString(),gender);  
  28.                 //创建Bundle对象  
  29.                 Bundle data = new Bundle();  
  30.                 data.putSerializable("person", p);  
  31.                 //创建一个Intent  
  32.                 Intent intent = new Intent(BundleTest.this,ResultActivity.class);  
  33.                 intent.putExtras(data);  
  34.                 //启动intent对应的Activity  
  35.                 startActivity(intent);  
  36.             }  
  37.         });  
  38.     }  
  39. }  

下面是第接受信息窗口在接受到注册信息以后的样子


第二个接受信息窗口界面xml 及代码

[html]  view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <TableLayout  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="wrap_content" >  
  10.          
  11.         <TextView   
  12.             android:layout_width="fill_parent"  
  13.             android:layout_height="wrap_content"  
  14.             android:text="请输入您的注册信息"  
  15.             android:textSize="20sp"  
  16.             />  
  17.           
  18.         <TableRow>  
  19.             <TextView  
  20.                 android:layout_width="fill_parent"  
  21.                 android:layout_height="wrap_content"  
  22.                 android:text="用户名:"  
  23.                 android:textSize="16sp"  
  24.             />  
  25.               
  26.             <EditText  
  27.                 android:id="@+id/name"  
  28.                 android:layout_width="fill_parent"  
  29.                 android:layout_height="wrap_content"  
  30.                 android:hint="请填写想注册的账号"  
  31.                 android:selectAllOnFocus="true"  
  32.              />  
  33.         </TableRow>  
  34.   
  35.         <TableRow>  
  36.             <TextView  
  37.                 android:layout_width="fill_parent"  
  38.                 android:layout_height="wrap_content"  
  39.                 android:text="密码:"  
  40.                 android:textSize="16sp"  
  41.             />  
  42.             <EditText  
  43.                 android:id="@+id/passwd"  
  44.                 android:layout_width="fill_parent"  
  45.                 android:layout_height="wrap_content"  
  46.                 android:password = "true"  
  47.                 android:selectAllOnFocus="true"  
  48.              />  
  49.         </TableRow>  
  50.   
  51.         <TableRow>  
  52.             <TextView  
  53.                 android:layout_width="fill_parent"  
  54.                 android:layout_height="wrap_content"  
  55.                 android:text="性别"  
  56.                 android:textSize="16sp"  
  57.             />  
  58.             <RadioGroup  
  59.                 android:layout_width="fill_parent"  
  60.                 android:layout_height="wrap_content"  
  61.                 android:orientation="horizontal"  
  62.             >  
  63.                 <RadioButton   
  64.                     android:id="@+id/male"  
  65.                     android:layout_width="wrap_content"  
  66.                     android:layout_height="wrap_content"  
  67.                     android:text="男"  
  68.                     android:textSize="16sp"  
  69.                     />  
  70.                  <RadioButton   
  71.                     android:id="@+id/female"  
  72.                     android:layout_width="wrap_content"  
  73.                     android:layout_height="wrap_content"  
  74.                     android:text="女"  
  75.                     android:textSize="16sp"  
  76.                     />  
  77.             </RadioGroup>  
  78.         </TableRow>  
  79.   
  80.         <TableRow>  
  81.             <Button  
  82.                 android:id="@+id/bn"  
  83.                 android:layout_width="wrap_content"  
  84.                 android:layout_height="wrap_content"  
  85.                 android:text='注册'  
  86.                 android:textSize="16sp"  
  87.                 />  
  88.         </TableRow>  
  89.     </TableLayout>  
  90.   
  91. </LinearLayout>  

[java]  view plain copy print ?
  1. package WangLi.Activity.Bundle;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.widget.TextView;  
  7.   
  8. public class ResultActivity extends Activity {  
  9.      @Override  
  10.      public void onCreate(Bundle savedInstanceState)  
  11.      {  
  12.          super.onCreate(savedInstanceState);  
  13.          setContentView(R.layout.result);  
  14.          TextView name = (TextView)findViewById(R.id.name);  
  15.          TextView passwd = (TextView)findViewById(R.id.passwd);  
  16.          TextView gender = (TextView)findViewById(R.id.gender);  
  17.          //获取启动该Result的Intent  
  18.          Intent intent = getIntent();  
  19.          //获取该intent所携带的数据  
  20.          Bundle data = intent.getExtras();  
  21.          //从Bundle包中取出数据  
  22.          Person p = (Person)data.getSerializable("person");  
  23.          name.setText("用户名:"+p.getName());  
  24.          passwd.setText("密码:"+p.getPass());  
  25.          gender.setText("性别:"+p.getGender());  
  26.      }  
  27. }  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值