/TextViewUI/res/values/strings.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <!-- for radiobutton_ui info display --> <string name="inputinfo">请输入你的信息</string> <string name="gender">性别</string> <string name="male">男</string> <string name="female">女</string> <string name="color">颜色</string> <string name="red">红色</string> <string name="blue">蓝色</string> <string name="green">绿色</string> <string name="ok">确定</string> </resources>
/TextViewUI/res/layout/radiobutton_ui.xml
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TableRow> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/inputinfo" android:textColor="#f00" android:textSize="20sp" /> </TableRow> <TableRow> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:text="@string/gender" /> <RadioGroup android:id="@+id/rg" android:orientation="horizontal" android:layout_gravity="center_horizontal" > <RadioButton android:id="@+id/male" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/male" android:checked="true" /> <RadioButton android:id="@+id/female" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/female" /> </RadioGroup> </TableRow> <TableRow> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/color" android:textSize="20sp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <CheckBox android:id="@+id/red_checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/red" /> <CheckBox android:id="@+id/blue_checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/blue" /> <CheckBox android:id="@+id/green_checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/green" /> </LinearLayout> </TableRow> <TableRow> <Button android:id="@+id/ok_bt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/ok" /> </TableRow> <!-- show user's input info --> <TextView android:id="@+id/show" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </TableLayout>
/TextViewUI/src/com/example/textviewui/MainActivity.java
package com.example.textviewui; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TextView; public class MainActivity extends Activity { // private RadioGroup rg; private TextView show; private CheckBox check_red; private CheckBox check_blue; private CheckBox check_green; private Button ok_bt; private String color_str=""; private String gender_str=""; // @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //test radiobutton changed event setContentView(R.layout.radiobutton_ui); // rg = (RadioGroup)findViewById(R.id.rg); show = (TextView)findViewById(R.id.show); //-----为RadioGroup组件的OnCheck事件绑定监听器 rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){ @Override public void onCheckedChanged(RadioGroup group,int checkedId){ String tip = checkedId==R.id.male?"boy":"girl"; gender_str += tip; //show.setText(tip); } }); // check_red = (CheckBox)findViewById(R.id.red_checkbox); check_blue = (CheckBox)findViewById(R.id.blue_checkbox); check_green = (CheckBox)findViewById(R.id.green_checkbox); /* check_red.setOnCheckedChangeListener(new MyCheckBoxChanged()); check_blue.setOnCheckedChangeListener(new MyCheckBoxChanged()); check_green.setOnCheckedChangeListener(new MyCheckBoxChanged()); */ //improve1 CompoundButton.OnCheckedChangeListener mychkboxlistner = new MyCheckBoxChanged(); check_red.setOnCheckedChangeListener(mychkboxlistner); check_blue.setOnCheckedChangeListener(mychkboxlistner); check_green.setOnCheckedChangeListener(mychkboxlistner); ok_bt = (Button)findViewById(R.id.ok_bt); //为按钮点击事件绑定监视器 ok_bt.setOnClickListener(new OnClickListener(){ @Override public void onClick(View view){ show.setText("your info\n" + "gender:" + gender_str + "\ncolor:" + color_str);//1402 // Toast.makeText(getApplicationContext(), "click", Toast.LENGTH_LONG).show(); } }); // // } //checkbox event listener 1402 //为CheckBox组件的OnCheck事件绑定监听器 private final class MyCheckBoxChanged implements CompoundButton.OnCheckedChangeListener{ @Override public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){ /* if(buttonView.getId() == R.id.red_checkbox){ if(isChecked){ color_str += buttonView.getText();//14021 // color_str += "red ";// 1402 } } if(buttonView.getId() == R.id.blue_checkbox){ if(isChecked){ color_str += "blue ";//1402 } } if(buttonView.getId() == R.id.green_checkbox){ if(isChecked){ color_str += "green ";//1402 } } */ //improve2 if(isChecked){ color_str += buttonView.getText() + " "; } } } // }
运行结果: