activity
package com.androidless1.yifei.andrlidl1;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
public static final String TAG = "MainActivity" + 123;
private int [] ch =new int[3];
private CheckBox beijing;
private CheckBox shanghai;
private CheckBox shenzhen;
private List<Integer> list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
beijing = findViewById(R.id.beginning);
shanghai = findViewById(R.id.shanghai);
shenzhen = findViewById(R.id.shenzhen);
beijing.setOnCheckedChangeListener(new CheckLister());
shanghai.setOnCheckedChangeListener(new CheckLister());
shenzhen.setOnCheckedChangeListener(new CheckLister());
}
class CheckLister implements CompoundButton.OnCheckedChangeListener {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
switch (buttonView.getId()) {
case R.id.beginning:
if(isChecked){
if(!list.contains(R.id.beginning)){
list.add(R.id.beginning);
}
}else {
if(list.contains(R.id.beginning)){
list.remove(list.indexOf(R.id.beginning));
}
}
Log.d(TAG, "onCheckedChanged: "+list);
break;
case R.id.shanghai:
if(isChecked){
if(!list.contains(R.id.shanghai)){
list.add(R.id.shanghai);
}
}else {
if(list.contains(R.id.shanghai)){
list.remove(list.indexOf(R.id.shanghai));
}
}
Log.d(TAG, "onCheckedChanged: "+list);
break;
case R.id.shenzhen:
if(isChecked){
if(!list.contains(R.id.shenzhen)){
list.add(R.id.shenzhen);
}
}else {
if(list.contains(R.id.shenzhen)){
list.remove(list.indexOf(R.id.shenzhen));
}
}
Log.d(TAG, "onCheckedChanged: "+list);
break;
default:
return;
}
}
}
}
xml布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<CheckBox
android:id="@+id/beginning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="北京"
/>
<CheckBox
android:id="@+id/shanghai"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上海"
/>
<CheckBox
android:id="@+id/shenzhen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="深圳"
/>
</LinearLayout>