Android学习实践:9.多选框CheckBox

来源:互联网 发布:如何评价阿凡达 知乎 编辑:程序博客网 时间:2024/06/05 04:21

在项目中新建一个Android Activity,名为CheckboxActivity,layout文件名为activity_checkbox,title设为"多选"

修改activity_checkbox.xml如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <CheckBox        android:id="@+id/CheckBox01"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="苹果"         android:onClick="onClick"/>    <CheckBox        android:id="@+id/CheckBox02"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="香蕉"         android:onClick="onClick"/>    <CheckBox        android:id="@+id/CheckBox03"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="梨"        android:onClick="onClick" />    <TextView        android:id="@+id/textView1"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:text="TextView" /></LinearLayout>


以上将三个CheckBox对应文本设为三个不同水果名称,并将对应的onClick事件指向onClick方法。


修改CheckboxActivity.java如下:

package maxwoods.demo1;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.CheckBox;import android.widget.TextView;public class CheckboxActivity extends AppCompatActivity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_checkbox);updateText();}public void onClick(View v){updateText();}private void updateText(){StringBuilder sb=new StringBuilder();CheckBox cb;cb=(CheckBox)this.findViewById(R.id.CheckBox01);if(cb.isChecked()) sb.append(cb.getText()+",");cb=(CheckBox)this.findViewById(R.id.CheckBox02);if(cb.isChecked()) sb.append(cb.getText()+",");cb=(CheckBox)this.findViewById(R.id.CheckBox03);if(cb.isChecked()) sb.append(cb.getText()+",");if(sb.length()>0) sb.insert(0, "你的选择是:");else sb.append("你什么都没选!");TextView tv=(TextView)findViewById(R.id.textView1);tv.setText(sb.toString());}}

上面调用updateText方法分别得到三个CheckBox,并使用isChecked方法判断是否选中来更新输出的文本信息,用前面学到方法使用自行添加一个按钮来启动这个Activity,运行效果如下:



0 0
原创粉丝点击