.java
public void takeOrder(View v){ CheckBox chk; String msg=""; int[] id={R.id.chk1,R.id.chk2,R.id.chk3,R.id.chk4,R.id.chk5,R.id.chk6}; for (int i:id) { chk = (CheckBox) findViewById(i); if (chk.isChecked()) msg += " " + chk.getText(); } if (msg.length()>0) msg="你点购的餐点是:"+msg; else msg="请点餐!"; ( (TextView)findViewById(R.id.showOrder)).setText(msg); }
.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 android:paddingBottom="@dimen/activity_vertical_margin" 6 android:paddingLeft="@dimen/activity_horizontal_margin" 7 android:paddingRight="@dimen/activity_horizontal_margin" 8 android:paddingTop="@dimen/activity_vertical_margin" 9 tools:context="com.qh20161208.ch05_foodmenu.MainActivity" 10 android:orientation="vertical"> 11 12 13 14 <LinearLayout 15 android:layout_width="match_parent" 16 android:layout_height="wrap_content" 17 android:orientation="horizontal" 18 android:layout_margin="5dp"> 19 <CheckBox 20 21 android:layout_width="wrap_content" 22 android:layout_height="wrap_content" 23 android:text="汉堡" 24 android:id="@+id/chk1" 25 android:textSize="30sp" /> 26 27 <CheckBox 28 android:layout_width="wrap_content" 29 android:layout_height="wrap_content" 30 android:text="薯条" 31 android:id="@+id/chk2" 32 android:textSize="30sp" /> 33 </LinearLayout> 34 35 <LinearLayout 36 android:layout_width="match_parent" 37 android:layout_height="wrap_content" 38 android:orientation="horizontal" 39 android:layout_margin="5dp"> 40 <CheckBox 41 42 android:layout_width="wrap_content" 43 android:layout_height="wrap_content" 44 android:text="可乐" 45 android:id="@+id/chk3" 46 android:textSize="30sp" /> 47 48 <CheckBox 49 android:layout_width="wrap_content" 50 android:layout_height="wrap_content" 51 android:text="玉米浓汤" 52 android:id="@+id/chk4" 53 android:textSize="30sp" /> 54 </LinearLayout> 55 56 <LinearLayout 57 android:layout_width="match_parent" 58 android:layout_height="wrap_content" 59 android:orientation="horizontal" 60 android:layout_margin="5dp"> 61 <CheckBox 62 63 android:layout_width="wrap_content" 64 android:layout_height="wrap_content" 65 android:text="鸡块" 66 android:id="@+id/chk5" 67 android:textSize="30sp" /> 68 69 <CheckBox 70 android:layout_width="wrap_content" 71 android:layout_height="wrap_content" 72 android:text="沙拉" 73 android:id="@+id/chk6" 74 android:textSize="30sp" /> 75 </LinearLayout> 76 77 <LinearLayout 78 android:orientation="horizontal" 79 android:layout_width="match_parent" 80 android:layout_height="70dp" 81 android:layout_margin="5dp"> 82 <Button 83 android:layout_width="match_parent" 84 android:layout_height="wrap_content" 85 android:text="订购" 86 android:id="@+id/button" 87 android:textSize="30sp" 88 android:onClick="takeOrder" 89 android:layout_gravity="center_horizontal" /> 90 </LinearLayout> 91 92 93 94 95 <TextView 96 android:id="@+id/showOrder" 97 android:layout_width="match_parent" 98 android:layout_height="wrap_content" 99 android:text="" 100 android:textSize="30sp"/> 101 102 103 </LinearLayout>
isChecked()检查是否被选取,返回true或false。
for循环逐一用数组中的资源ID调用findViewById()获取复选框对象,并调用isChecked()方法查看是否被选取。
如果选取,用getText()方法获取其文字
判断msg字段长度是否大于0,大于0表示循环添加了内容到字符串。
获取文本框对象并显示。