Android实现单项、多项选择操作

2019-12-10 18:05:40王旭

效果图:

Android,单项,多项

2、多项选择
2.1.布局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://www.easck.com/apk/res/android" 
 xmlns:tools="http://www.easck.com/tools" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:orientation="vertical" 
 tools:context="com.rj141.sb.kongjian.CheckChoose"> 
 
 <TextView 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:textSize="20dp" 
  android:text="你喜欢下列哪些物品?" 
  /> 
 
 <CheckBox 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="巧克力" 
  android:id="@+id/cb1" /> 
 
 <CheckBox 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="冰淇淋" 
  android:id="@+id/cb2" /> 
 
 <CheckBox 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="蛋糕" 
  android:id="@+id/cb3" /> 
 
 <CheckBox 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="啤酒" 
  android:id="@+id/cb4" /> 
 
 <CheckBox 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="肉" 
  android:id="@+id/cb5" /> 
 
 <TextView 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:textSize="18dp" 
  android:id="@+id/tv" /> 
 
</LinearLayout> 

2.2.Java文件

public class CheckChoose extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener { 
 
 private CheckBox cb1,cb2,cb3,cb4,cb5; 
 private TextView tv; 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.check_choose); 
 
  tv= (TextView) this.findViewById(R.id.tv); 
  cb1= (CheckBox) this.findViewById(R.id.cb1); 
  cb2= (CheckBox) this.findViewById(R.id.cb2); 
  cb3= (CheckBox) this.findViewById(R.id.cb3); 
  cb4= (CheckBox) this.findViewById(R.id.cb4); 
  cb5= (CheckBox) this.findViewById(R.id.cb5); 
  cb1.setOnCheckedChangeListener(this); 
  cb2.setOnCheckedChangeListener(this); 
  cb3.setOnCheckedChangeListener(this); 
  cb4.setOnCheckedChangeListener(this); 
  cb5.setOnCheckedChangeListener(this); 
 } 
 
 @Override 
 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
  String str="您喜欢:"; 
  if(cb1.isChecked()){ 
   str+=cb1.getText()+","; 
  } 
  if(cb2.isChecked()){ 
   str+=cb2.getText()+","; 
  } 
  if(cb3.isChecked()){ 
   str+=cb3.getText()+","; 
  } 
  if(cb4.isChecked()){ 
   str+=cb4.getText()+","; 
  } 
  if(cb5.isChecked()){ 
   str+=cb5.getText()+","; 
  } 
  tv.setText(str); 
 } 
}