安卓小程序之“标准体重计算器”
每一天都应该有进步!
今天收获最大算是,晚上完成的《移动应用开发》课程的作业吧,click点击事件的用法一直搞不懂,不知道如何获取性别选择的button触发的事件,,不早了,得回宿舍了,明天接着更!(●ˇ∀ˇ●)
补:
MainActivity.java文件:
package com.dc365.hc; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { private Button btn; private EditText heigh; private TextView weight; private RadioGroup m_RadioGroup; private RadioButton m_Radio1; private RadioButton m_Radio2; private int choice1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); heigh = (EditText) findViewById(R.id.etMsg); weight = (TextView) findViewById(R.id.tvHsg); btn = (Button) findViewById(R.id.MyBtn); btn.setOnClickListener(this); m_RadioGroup = (RadioGroup)findViewById(R.id.RadioGroup01); m_Radio1=(RadioButton)findViewById(R.id.RadioButton1); m_Radio2=(RadioButton)findViewById(R.id.RadioButton2); //设置监听事件 m_RadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub if(checkedId==m_Radio1.getId()){ choice1=1; //选择性别为男 } else{ choice1=0; //选择性别为女 } } }); } @Override public void onClick(View arg0) { // TODO Auto-generated method stub String h = heigh.getText().toString(); if(choice1==1){//计算成年男性的标准体重 if (!h.equals("")) { double height = Double.valueOf(h); height = 0.9*(height - 100); weight.setText(height + " kg"); } } else{ if (!h.equals("")) {//计算成年女性的标准体重 double height = Double.valueOf(h); height = 0.9*(height - 100)-2.5; weight.setText(height + " kg"); } } } }
AndroidManifest.xml文价:
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.dc365.hc" 4 android:versionCode="1" 5 android:versionName="1.0" > 6 7 <uses-sdk 8 android:minSdkVersion="15" 9 android:targetSdkVersion="18" /> 10 11 <application 12 android:allowBackup="true" 13 android:icon="@drawable/ic_launcher" 14 android:label="@string/app_name" 15 android:theme="@style/AppTheme" > 16 <activity 17 android:name="com.dc365.hc.MainActivity" 18 android:label="@string/app_name" > 19 <intent-filter> 20 <action android:name="android.intent.action.MAIN" /> 21 22 <category android:name="android.intent.category.LAUNCHER" /> 23 </intent-filter> 24 </activity> 25 </application> 26 27 </manifest>
layout布局文件:activity_main.xml
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 tools:context=".MainActivity" 6 android:orientation="vertical"> 7 <TextView 8 android:background="@android:color/background_light" 9 android:id="@+id/title" 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:text="@string/title" 13 android:textSize="23dp" 14 android:paddingTop="15dp" 15 /> 16 <LinearLayout 17 android:layout_width="fill_parent" 18 android:layout_height="wrap_content" 19 android:orientation="horizontal" 20 android:paddingTop="30dp" 21 > 22 23 <TextView 24 android:background="@android:color/background_light" 25 android:id="@+id/tvMsg" 26 android:gravity="center" 27 android:text="@string/height_" 28 android:layout_width="0dp" 29 android:layout_height="wrap_content" 30 android:layout_weight="1" 31 android:textSize="25dp" 32 /> 33 <EditText 34 android:background="@android:color/background_light" 35 android:id="@+id/etMsg" 36 android:layout_width="0dp" 37 android:layout_height="wrap_content" 38 android:layout_weight="3" 39 android:inputType="number" 40 android:textSize="25dp" 41 ></EditText> 42 43 </LinearLayout> 44 45 <RadioGroup 46 android:id="@+id/RadioGroup01" 47 android:layout_height="wrap_content" 48 android:layout_width="fill_parent" 49 > 50 51 <RadioButton 52 android:id="@+id/RadioButton1" 53 android:text="男" 54 /> 55 <RadioButton 56 android:id="@+id/RadioButton2" 57 android:text="女" 58 /> 59 </RadioGroup> 60 <LinearLayout 61 android:layout_width="match_parent" 62 android:layout_height="wrap_content" 63 android:orientation="horizontal" 64 android:paddingTop="30dp" 65 > 66 <Button 67 android:layout_gravity="center_horizontal" 68 android:id="@+id/MyBtn" 69 android:text="@string/sure_" 70 android:textSize="25dp" 71 android:layout_width="200dp" 72 android:layout_height="wrap_content" 73 /> 74 75 76 </LinearLayout>" 77 78 <LinearLayout 79 android:paddingTop="30dp" 80 android:layout_width="fill_parent" 81 android:layout_height="wrap_content" 82 android:orientation="horizontal" 83 > 84 <TextView 85 android:background="@android:color/background_light" 86 android:gravity="center" 87 android:text="@string/weight_" 88 android:layout_width="0dp" 89 android:layout_height="wrap_content" 90 android:layout_weight="1" 91 android:textSize="25dp" 92 /> 93 94 <TextView 95 android:background="@android:color/background_light" 96 android:id="@+id/tvHsg" 97 android:layout_width="0dp" 98 android:layout_height="wrap_content" 99 android:layout_weight="3" 100 android:textSize="25dp" 101 ></TextView> 102 103 </LinearLayout> 104 </LinearLayout>
效果截图如下:
当时没有加入性别选择,输入身高点击确定就直接显示标准体重了。加入性别选择后不知道如何与计算结果关联,因为没有教材,网上说是用RadioButton来实现,但是也没看到实际的例子,于是去图书馆翻阅关于android开发的书,才发现基本上所有跟android开发有关的书,都被借光了,所剩寥寥无几,幸运的是在一本书上得到了发现,借用了过来,终于实现。其实,这是一个很简单的问题,但是对于初学的我来说,有很多困惑与不解,以前的java基础太薄弱,相必还得花时间把java的知识补上!
这是下载链接:标准体重计算器(无毒)