万书网 > 文学作品 > Android从入门到精通 > 第61页

第61页





Info  info=new  Info();  //实例化一个保存输入基本信息的对象



if("".equals(((EditText)findViewById(R.id.stature)).getText().toString())){



Toast.makeText(MainActivity.this,  "请输入您的身高,否则不能计算!",



Toast.LENGTH_SHORT).show();



return;



}



int  stature=Integer.parseInt(((EditText)findViewById(R.id.stature)).getText().toString());



RadioGroup  sex=(RadioGroup)findViewById(R.id.sex);  //获取设置性别的单选按钮组



//获取单选按钮组的值



for(int  i=0;i


RadioButton  r=(RadioButton)sex.getChildAt(i);  //根据索引值获取单选按钮



if(r.isChecked()){  //判断单选按钮是否被选中



info.setSex(r.getText().toString());  //获取被选中的单选按钮的值



break;  //跳出for循环



}



}



info.setStature(stature);  //设置身高



Bundle  bundle=new  Bundle();  //实例化一个Bundle对象



bundle.putSerializable("info",  info);  //将输入的基本信息保存到Bundle对象中



Intent  intent=new  Intent(MainActivity.this,ResultActivity.class);  //创建一个Intent对象



intent.putExtras(bundle);  //将bundle保存到Intent对象中



startActivity(intent);  //启动intent对应的Activity



}



});

说明:  在上面的代码中,加粗的代码用于创建一个Bundle对象,并在该对象中放入一个可序列化的Info类的对象。

(4)在res\layout目录中,创建一个名为result.xml的布局文件,在该布局文件中采用垂直线性布局管理器,并且添加3个TextView组件,分别用于显示性别、身高和计算后的标准体重。

(5)在com.mingrisoft包中,创建一个继承Activity类的ResultActivity,并且重写onCreate()方法。在重写的onCreate()方法中,首先设置该Activity使用的布局文件result.xml中定义的布局,然后获取性别、身高和标准体重文本框,再获取Intent对象以及传递的数据包,最后将传递过来的性别、身高和计算后的标准体重显示到对应的文本框中。关键代码如下:

setContentView(R.layout.result);  //设置该Activity使用的布局



TextView  sex=(TextView)findViewById(R.id.sex);  //获取显示性别的文本框



TextView  stature=(TextView)findViewById(R.id.stature);  //获取显示身高的文本框



TextView  weight=(TextView)findViewById(R.id.weight);  //获取显示标准体重的文本框



Intent  intent=getIntent();  //获取Intent对象



Bundle  bundle=intent.getExtras();  //获取传递的数据包



Info  info=(Info)bundle.getSerializable("info");  //获取一个可序列化的info对象



sex.setText("您是一位"+info.getSex()+"士");  //获取性别并显示到相应文本框中



stature.setText("您的身高是"+info.getStature()+"厘米");  //获取身高并显示到相应文本框中



//显示计算后的标准体重



weight.setText("您的标准体重是"+getWeight(info.getSex(),info.getStature())+"公斤");

(6)编写根据身高和性别计算标准体重的方法getWeight(),该方法包括两个入口参数:身高和体重,返回值为字符串类型的标准体重。getWeight()方法的具体代码如下:

/**



*  功能:计算标准体重



*  @param  sex



*  @param  stature



*  @return



*/



private  String  getWeight(String  sex,float  stature){



String  weight="";  //保存体重



NumberFormat  format=new  DecimalFormat();





if(sex.equals("男")){  //计算男士标准体重



weight=format.format((stature-80)*0.7);



}else{  //计算女士标准体重



weight=format.format((stature-70)*0.6);



}



return  weight;



}

(7)在AndroidManifest.xml文件中配置ResultActivity,配置的主要属性有Activity使用的标签、图标和实现类,具体代码如下:




android:label="显示结果"



android:icon="@drawable/ic_launcher"



android:name=".ResultActivity">





运行本实例,将显示一个输入计算标准体重条件的界面,选择性别并输入身高后,如图5.10所示,单击“确定”按钮,将显示如图5.11所示的计算结果界面。





图5.10 输入性别和身高界面  图5.11 显示计算结果界面

5.3.4 范例2:带选择头像的用户注册页面

例5.6   在Eclipse中创建Android项目,名称为5.6,实现带选择头像的用户注册页面,打开新的Activity选择头像,并将选择的头像返回到原Activity中。(实例位置:光盘\TM\sl\5\5.6)

(1)修改新建项目的res\layout目录下的布局文件main.xml,将默认添加的垂直线性布局管理器修改为水平线性布局管理器,并将默认添加的TextView组件删除,然后添加两个垂直线性布局管理器,并在第一个线性布局管理器中添加一个4行的表格布局管理器,在第二个线性布局管理器中添加一个ImageView组件和一个Button组件,最后在表格布局管理器的各行中添加用于输入用户名、密码和E-mail地址等的TextView组件和EditText组件。由于此处的布局代码比较简单,这里不再给出,具体代码可以参见光盘。